Господар на синџирите

Тодор поседува N синџири, кои што се состојат од одреден број на алки. Секоја алка е поврзана со најмногу 2 соседни алки (од лево и од десно).

Секоја алка може да се отвора и затвора, со цел да може да се раздвојуваат и/или спојуваат синџирите.

Тодор сака да ги сврзе сите синџири во еден единствен голем синџир кој ќе ги содржи сите алки. Притоа, сака тоа да го изведе сo отворање и затворање на што е можно помалку алки. На пример, на сликата има три синџири со по една алка. Може да ја земеме едната алка (едниот синџир), да ја отвориме и со неа да ги споиме другите два. Ќе ни биде потребно само едно отворање и затворање на алка.


На Тодор му е именден, па помогнете му. За даден број на синџири и должината на секој од нив (број на алки во нив), најдете го минималниот број на алки кои треба да се отворат и затворат за да се создаде еден голем синџир од сите алки.



Влез

Во првиот ред од влезот има позитивен цел број N (2 ≤ N ≤ 500 000), бројот на синџири.
Во следните N редови има по еден цел број Li (1 ≤ Li ≤ 1 000 000), должината на секој од синџирите.



Излез

Во единствениот ред отпечатете го бараниот број - минималниот број на алки.



Ограничувања

Временско ограничување: 200 milliseconds
Мемориско ограничување: 64 megabytes



Примери


влез
2
3
3
излез
1


влез
3 
1 
1 
1


излез
1


влез
5 
4
3 
5 
7 
9


излез
3


Објаснување на првиот пример:
Тодор може да ја отвори последната алка од првиот синџир, да ја поврзе со првата алка од вториот синџир и да ја затвори.

Објаснување на третиот пример:
Најдобро е Тодор комплетно да го растури вториот синџир со отворање на сите три алки и нив да ги искористи за поврзување на останатите синџири (на пример: првиот со третиот, третиот со четвртиот и четвртиот со петтиот).



 Submit your code