RT,k=30的点WA
#include<cctype>
#include<cstdio>
#include<cstring>
#define ll long long
int t,n,k,r,h;
int x[73];
ll a30[73];
ll ans;
inline void read()
{
memset(x,-1,sizeof(x));
char c=getchar();h=0;
int flag=0;
while(!isdigit(c))c=getchar();
while(isdigit(c))
{
for(int i=0;i<h;++i)x[i]*=10;
x[0]+=c-'0';
if(flag==0&&c=='0')++x[0],++h;
for(int p=0;x[p]!=-1;++p)
{
if(p==h)++h,++x[p];
x[p+1]+=x[p]/(k+1);
x[p]%=(k+1);
}
flag=1;
c=getchar();
}
}
int main()
{
for(int i=0;i<31;++i)a30[i]=1ll<<i;
a30[31]=(1ll<<31)-1ll;
for(int i=32;i<47;++i)a30[i]=1ll<<(i-1);
a30[47]=(1ll<<46)-(1ll<<31)+(1ll<<16)-1ll;
for(int i=48;i<59;++i)a30[i]=1ll<<(i-2);
scanf(" %d",&t);
while(t--)
{
scanf(" %d %d",&n,&k);
ans=0;
if(k==30)
{
while(n--)
{
read();
for(r=0;r<h&&x[r]!=k;++r);
if(r==h)continue;
ans^=a30[r];
}
printf("%s\n",ans?"Preempt.":"Leapfrog.");
}
}
return 0;
}