Cod sursa(job #495725)
#include<fstream>
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
int v[539],n,a[510][1010];
void read()
{
in>>n;
for(int i=1;i<=n;i++)
in>>v[i];
}
int cmmdc(int a ,int b)
{
if(a==b)
return a;
if(a>b)
return cmmdc(a-b,b);
return cmmdc(a,b-a);
}
void solve()
{
int d;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=1000;j++)
a[i][j]=a[i-1][j];
for(int j=1;j<=1000;j++)
{
d=cmmdc(v[i],j);
a[i][d]+=a[i-1][j];
}
a[i][v[i]]++;
}
out<<a[n][1];
}
int main()
{
read();
solve();
return 0;
}