#include <stdio.h>
#include <iostream>
#include <queue>
#define ll long long
using namespace std;
ll exgcd(ll a, ll b, ll &x, ll &y){
if(b==0){
x=1;
y=0;
return a;
}
ll ans = exgcd(b,a%b,y,x);
y = y - a/b*x;
return ans;
}
int find(ll a, ll f[144]){
int l = 0, r = 143;
while(l<=r){
int mid = (l + r) >> 1;
if(a==f[mid]) return 1;
else if(a<f[mid]) r = mid - 1;
else l = mid + 1;
}
return 0;
}
int main(){
int T;
cin>>T;
ll a,b,a1,b1,x,y;
cin>>a>>b;
for(int i = 1; i < T; i++){
cin>>a1>>b1;
ll d = exgcd(a,a1,x,y);
if((b1-b)%d){
cout<<"Tankernb!";
return 0;
}
ll t = a1 / d;
x = (b1-b) / d * x % t;
b += x * a;
a = a / d * a1;
b%=a;
}
if(b<0) b+=a;
ll fbc[150]; fbc[0] = 0; fbc[1] = 1;
for(int i = 2; i<144; i++) fbc[i] = fbc[i-1] + fbc[i-2];
find(b,fbc)?cout<<"Lbnb!":cout<<"Zgxnb!";
return 0;
}
2019银川网络赛 A (扩展中国剩余定理板子)
猜你喜欢
转载自blog.csdn.net/GD_ONE/article/details/100713779
今日推荐
周排行