Long Long and Mao Mao both have AKed the new div.1 round in Codeforces tonight, but it’s too early to sleep now. So they decide to play one special Nim game.
In this special nim game, there are n paper balls on the table at the beginning of the game. But unlike some simple nim game, they each have m numbers in a set. They could only take away the number of paper balls which occur in their set. In the end, those who cannot take away any paper ball lose this game.
Long Long takes the first, and he would like to know whether he can win this game, please help him.
Input
The first line contains two positive integers n (1≤n≤5 000) and m (1≤m≤100) — the number of the paper balls and their sets’ size.
The second line contains m positive integers a1,a2,⋯,am (1≤ai<ai+1≤500) — the numbers in Long Long’s set.
The third line contains m positive integers b1,b2,⋯,bm (1≤bi<bi+1≤500) — the numbers in Mao Mao’s set.
Output
Print Long Long nb! if Long Long can secure the victory, and Mao Mao nb! otherwise.
Examples
Input
5 1
6
7
Output
Mao Mao nb!
Input
20 3
3 7 10
2 6 7
Output
Long Long nb!
Note
In the first sample, Long Long can only take 6 paper balls, but there are only 5 remains on the table, so he loses this game.
In the second sample, Long Long could take 10 paper balls first, and 10 remains on the table:
If Mao Mao takes 2 paper balls, Long Long could take another 7 paper balls. Then there is only one paper ball that remains on the table, the winner is Long Long.
If Mao Mao takes 6 or 7 paper balls, Long Long can also take 3 paper balls to make one paper ball or empty left on the table. In this case, the winner is Long Long.
大意:
给两个数字n和m,n代表个数,m代表每个人可以有多少种选择
接下来两行,第一行代表先手的那个人的m个选择
第二行代表后手的m个选择
两个人只能从自己的m个选择里取数,如果没有可以取的,判输
#include<bits/stdc++.h>
using namespace std;
int a[6000];
int b[6000];
int sg_a[6000];
int sg_b[6000];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++) cin>>a[i];
for(int j=1;j<=m;j++) cin>>b[j];
sort(a+1,a+m+1);
sort(b+1,b+1+m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m&&a[j]<=i;j++)
if(sg_b[i-a[j]]==0) sg_a[i]=1;
for(int j=1;j<=m&&b[j]<=i;j++)
if(sg_a[i-b[j]]==0) sg_b[i]=1;
}
if(!sg_a[n]) cout<<"Mao Mao nb!"<<endl;
else cout<<"Long Long nb!"<<endl;
return 0;
}