走棋子相当于n个石子堆,每次取石子,如果nim和为0,那么证明任意一个二进制位是1的个数均为偶数,每次从一堆里取石子,必定能从另一堆找到相同的方式取,所以先手必输.

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#define MAX 1007

using namespace std;

int a,n;

int main ( )
{
    while ( ~scanf ( "%d" , &n ) , n )
    {
        int ans = 0;
        for ( int i = 1 ; i <= n ; i++ )
        {
            scanf ( "%d" , &a );
            ans ^= a;
        }
        if ( ans ) puts ( "Rabbit Win!" );
        else puts ( "Grass Win!" );

    }
}