Selection of Participants of an Experiment

時間制限 : 8 sec, メモリ制限 : 262144 KB
英語版はこちら

被験者の選定

筑波博士は,プログラミング教育の新しい方法を考案した. この方法が有効かどうかを確認するために,対照実験を行うことにした. 2 人の学生を被験者として,一方を従来の方法で教え,もう一方を新しい方法で教える. 2 人の最終的な成績を比べれば,新しい方法が有効かどうか判定できるだろう.

公平な比較を行うためには,成績のなるべく近い 2 人を選ぶことが肝要である. 手元には,実験に参加可能な学生各人の成績の一覧表がある. この中から成績の差が最も小さい 2 人を選ぶプログラムを書いてほしい.

Input

入力は複数のデータセットからなる. 各データセットは次の形式で表される.

n
a1 a2an

データセットは 2 行からなる. 1 行目には学生の人数 n が与えられる. n は整数であり,2 ≤ n ≤ 1000 が成り立つ. 2 行目には n 人の学生の成績が与えられる. ai(1 ≤ in)が i 番目の学生の成績である. この値は整数であり,0 以上 1,000,000 以下である.

入力の終わりは,1 個のゼロだけからなる行で表される. 全データセットの n の合計は 50,000 を超えない.

Output

各データセットについて,成績の差が最小の 2 人の学生を選び, その差(の絶対値)を 1 行に出力せよ.

Sample Input

5
10 10 10 10 10
5
1 5 8 9 11
7
11 34 83 47 59 29 70
0

Output for the Sample Input

0
1
5

Source: ACM International Collegiate Programming Contest , Japan Domestic Contest, Tsukuba, Japan, 2016-06-24
http://icpc.iisf.or.jp/2016-tsukuba/