#include<stdio.h>
#include<iostream>
using namespace std;
//计算最大公约数
int gcd(int a,int b){
if(b==0) return a;
return gcd(b,a%b);
}
int main(){
int n,g,ans=0;
scanf("%d",&n);
int a[100+1];
bool f[20000];
f[0]=true;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
if(i==1) g=a[i];
else g=gcd(a[i],g);
}
if(g!=1){
printf("INF");
return 0;
}
else{
for(int i=1;i<=n;i++)
for(int j=0;j<10000;j++){//wc,我居然把j++写错成i++,然后找了一个上午的错(ㄒoㄒ)~~,细节啊
if(f[j]){
f[j+a[i]]=true;
}
}
for(int i=0;i<10000;i++){
if(!f[i]) ans++;
}
}
printf("%d",ans);
return 0;
}