package main import ( "bufio" "fmt" "os" "sort" "strconv" "strings" ) func toInt(bytes []byte) int { num, _ := strconv.Atoi(string(bytes)) return num } func main() { rdr := bufio.NewReaderSize(os.Stdin, 8*100001) l, _, _ := rdr.ReadLine() N := toInt(l) l, _, _ = rdr.ReadLine() xs := make([]int, N) strs := strings.Split(string(l), " ") for i := range strs { xs[i], _ = strconv.Atoi(strs[i]) } sort.Ints(xs) min := 1000001 for i := 0; i < N-1; i++ { if xs[i+1]-xs[i] < min && xs[i+1] != xs[i] { min = xs[i+1] - xs[i] } } if min == 1000001 { fmt.Println("0") } else { fmt.Println(min) } }