
import java.io.*;
import java.util.*;


 public class CodeForce{
       static long gcd(long a,long b) 
    { 
        if (a == 0) 
            return b; 
        return gcd(b % a, a); 
    } 
  
    // Function to find gcd of array of 
    // numbers 
    static long findGCD(long arr[],int n) 
    { 
        long result = arr[0]; 
        for (int i = 1; i < n; i++){ 
            result = gcd(arr[i], result); 
  
            if(result == 1) 
            { 
               return 1; 
            } 
        } 
  
        return result; 
    } 
	public static void main(String[] args) throws IOException {
	    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	    int n=Integer.parseInt(br.readLine());
           String[] str=br.readLine().split(" ");
           String s="";
          
           long[] arr=new long[n];
           long max=Long.MIN_VALUE;
           for(int i=0;i<n;i++){
               arr[i]=Long.parseLong(str[i]);
               if(max<arr[i])
                   max=arr[i];
           }
           long[] temp=new long[n];
           long sum=0;
           for(int i=0;i<n;i++){
               temp[i]=max-arr[i];
               sum+=temp[i];
           }
           
           long gc=findGCD(temp, n);
            System.out.println(sum/gc+" "+gc);
	}
 }