Operações Redutoras

#67
Made by: Crazynds
1024MB
0.2s

Você recebeu um array de inteiros positivos $A$ com $n$ elementos. Você pode realizar quantas operações quiser, com a seguinte regra:

  • Em cada operação, escolha dois elementos distintos $x, y$ (com $x \ne y$) do array, e substitua o maior deles por $|x - y|$.

Seu objetivo é encontrar o menor valor possivel nesse array após executar as operações.

Implemente um programa que, dado o array inicial $A$, determine qual será o menor valor possível no array após aplicar as operações.

Input

A primeira linha contém um inteiro $n$ $(2 \leq n \leq 10^6)$: o número de elementos do array.

A segunda linha contém $n$ inteiros $a_1, a_2, \dots, a_n$ $(1 \leq a_i \leq 10^9)$: os elementos do array.

Output

Um único inteiro representando o menor valor possível de se obter após aplicando as operações.


Input Example
Output Example
4
3 12 6 6
3

Explanation 1:
É possivel provar que ao aplicar as operações, não é possivel chegar em algum numero menor que 3. Ex: 6-12=6, 6-3=3, 12-3=6


10
193 547 353 48 476 669 420 214 219 415
1