#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){
return b==0?a:gcd(b,a%b);
}
int main() {
int n;
cin>>n;
vector<ll>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a.begin(),a.end());
vector<ll>diff;
for(int i=1;i<n;i++){
diff.push_back(a[i]-a[0]);
}
int d=diff[0];
for(int i=1;i<diff.size();i++){
d=gcd(d,diff[i]);
}
ll max_gcd = d;
ll min_k = 0;
if (a[0] % d != 0) {
min_k = d - (a[0] % d);
}
cout << max_gcd << " " << min_k << endl;
return 0;
}
// 64 位输出请用 printf("%lld")