http://acm.hdu.edu.cn/showproblem.php?pid=1848
#include<bits/stdc++.h>
using namespace std;
#define N 120
int f[130], s[1200],sg[1200];
void get_sg(int n)
{
memset(sg,0,sizeof(sg));
for(int i = 1; i <= n; i ++)
{
memset(s,0,sizeof(s));
for(int j = 0; f[j]<= i; j ++)
{
s[sg[i-f[j]]] = 1;
}
for(int j = 0;; j ++)
{
if(!s[j])
{
sg[i] = j;
break;
}
}
}
}
int main()
{
int i,m,n,p;
f[0] = f[1] = 1;
for(i = 2; i <= 21; i ++)
{
f[i] = f[i-1]+f[i-2];
}
get_sg(1002);
while(scanf("%d %d %d",&m, &n, &p) !=EOF)
{
if(m == p&&p == n&& n == 0)
break;
if(sg[m]^sg[n]^sg[p])
printf("Fibo\n");
else
printf("Nacci\n");
}
return 0;
}