//最简真分数是指分子分母的最大公因数为1的真分数
//本题不同组合即可,不需要不同组合的分数值必须不同
#include <iostream>
#include <vector>
using namespace std;
int GCD(int a,int b)
{
    if(b==0)return a;
    else{
        return GCD(b,a%b);
    }


    return 0;
}
int main() {
    int n;
    while (cin >> n) { 
        if(n==0)break;
        int nn[n+1];
        vector<double> zfs;
        zfs.clear();
        for(int i=1;i<=n;i++)
        {
            cin>>nn[i];
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=i+1;j<=n;j++)
            {
                double gcd=GCD(nn[i],nn[j]);
                if(gcd!=1)continue;
                double c=nn[i];
                double d=nn[j];
                double temp;
                if(c<d)
                {
                    temp=c;
                    c=d;
                    d=temp;
                }
                double element=(d/gcd)/(c/gcd);

             //   int count=0;
             //   for(int k=0;k<zfs.size();k++)
             //   {
             //       if(element!=zfs[k])count++;
             //   }
             //   if(count==zfs.size())
                zfs.push_back(element);
            }
        }
        // for(int k=0;k<zfs.size();k++)
        //         {
        //             cout<<zfs[k]<<" ";
        //         }
        cout<<zfs.size()<<endl;
    }
}