Разлика во висини

На една панорамска слика сликан е дрворедот на една улица. Дрвата се распоредени на еднакви растојанија и за нив ја знаеме нивната висина Xi во милиметри (600 ≤ Xi ≤ 6000), но на некои од позициите нема дрва.

За да изгледа поубаво сликата на промотивниот билборд, дизајнерот одлучил до го отсече делот до првото празно место, и делот од последното празно место до крај.

Ваша задача е за зададени висини на сите дрва, зададени по редослед од првото до последното дрво, да утврдите која е разликата во висините на највисокото и најниското дрво кои се гледаат на сликата. За позициите на кои нема дрва ќе биде зададена вредност („висина“) 0.



Влез

Во првиот ред се запишани не повеќе од 1 000 000 цели броеви - висините на дрвата или 0, по редослед, според описот на задачата горе. Како последен е запишан бројот 11111 како ознака за крај на внесувањето.
Се гарантира дека ќе има барем 2 нули во дадената низа. Се гарантира дека на билбордот ќе се гледа барем едно дрво.



Излез

Во првиот ред да се отпечати бараниот излез - разликата помеѓу највисокото и најниското дрво кои ќе се најдат на билбордот.
За 1/3 од поените на влез ќе има точно 100 броеви.
За 3/4 од поените на влез ќе има најмногу 100 000 броеви.



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

Временско ограничување: 300 milliseconds
Мемориско ограничување: 1 megabyte



Примери


влез
650 1500 0 600 1000 2000 0 800 1500 11111
излез
1400


Објаснување:

Дрвата лево од првата нула се оние со висина 650 и 1500, додека дрвата десно од последната нула се оние со висина 800 и 1500. После нивното отсекување остануваат дрвата со висина 600, 1000 и 2000. Меѓу овие, највисокото и најниското се 2000 и 600 соодветно, а нивната разлика во висини е 1400.



 Submit your code