#include "bits/stdc++.h" using namespace std; #pragma GCC optimize("Ofast") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #define _CRT_SECURE_NO_WARNINGS #define endl "\n" #define rep(i,s,l) for(int i=s;i=s;i--) #define all(x) (x).begin(), (x).end() #define uniq(v) v.erase( unique(v.begin(), v.end()), v.end() ); using ll = long long; using ld = long double; using P = pair; using VP = vector

; using VI = vector; using VLL = vector; using VS = vector; const int INF = 2147483647; const ll LINF = 1152921504606846976; const ll MOD = 1e9 + 7; const ld EPS = 1e-9; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } ll gcd(ll p, ll q) { while (q) { ll t = p % q; p = q; q = t; } return p; } ll lcm(ll a, ll b) { return a * b / gcd(a, b); } inline ll fast_mod(ll x, ll y) { if (x >= y) { return x % y; } else if (x < 0) { return (x % y + y) % y; } else { return x; } } signed main() { const streamsize PRECISION_SIZE = 15; ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); std::cout << std::fixed << std::setprecision(PRECISION_SIZE); ll min_dist{ LINF }, max_dist{ -LINF }; int N; cin >> N; VLL A(N); rep(i, 0, N)cin >> A[i]; rep(i, 0, N-1) { rep(j, i + 1, N) { chmin(min_dist, abs(A[i] - A[j])); chmax(max_dist, abs(A[i] - A[j])); } } cout << min_dist << endl; cout << max_dist << endl; return EXIT_SUCCESS; }