import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Qian {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int res;
int len=in.nextInt();
int[] arr=new int[len];
List<Integer> list=new ArrayList<>();
Set<Integer> s=new HashSet<Integer>();
for(int i=0;i<len;i++){
arr[i]=in.nextInt();
s.add(arr[i]);
}
Iterator<Integer> value = s.iterator();
int size=s.size();
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int[] brr=new int[size];
int j=0;
while (value.hasNext()) {
int a = value.next();
//System.out.print(a+" ");
int count=0;
for(int i=0;i<len;i++){
if(arr[i]==a)count++;
}
//System.out.print(a+"-"+count+"\r\n");
map.put(a, count);
brr[j++]=count;
//System.out.print(j-1+"-"+count+"\r\n");
if(count<2&&count>0){
System.out.println(0);
return;
}
}
Arrays.sort(brr);
//for(int i=0;i<brr.length;i++) System.out.print(brr[i]+" ");
boolean flag=true;
int key=getGCD(brr[0],brr[1]);
if(key==1) {
System.out.println(0);
return;
}
int sum=0;
for(int i=0;i<brr.length;i++){
if(brr[i]%key!=0) {
flag=false;
System.out.println(0);
return;
}
int tmp=brr[i]/key;
sum+=tmp;
}
System.out.println(String.valueOf(sum));
}
public static int getGCD(int x,int y){ //求最大公约数
for (int a=x;a>=1; a--) {
if (x%a==0 && y%a==0) {
return a;
}
}
return 1;
}
}