
#include<bits/stdc++.h>


using namespace std;






int n , m;


bool palindrome(string s) {
    string t = s;
    reverse(s.begin() , s.end());
    return s == t;
}

void solve(int testCase){

    string s;
    cin >> s;

    for(int i = 0 ; i < 100 ; i ++) {
            if(palindrome(s)) {
                    printf("Yes\n");
                    return;
            }
            s = "0" + s;
    }

    printf("No\n");
}

main(){

    int t = 1;
    // scanf("%d" , &t);

    for(int testCase = 1 ; testCase <= t ; testCase ++){
            solve(testCase);
    }

    return 0;
}

//#pragma GCC optimize ("O2")
//#pragma GCC target ("avx2")
#include<bits/stdc++.h>
//#include<atcoder/all>
//using namespace atcoder;

using namespace std;
typedef long long ll;
#define rep(i, n) for(int i = 0; i < (n); i++)
#define rep1(i, n) for(int i = 1; i <= (n); i++)
#define co(x) cout << (x) << "\n"
#define cosp(x) cout << (x) << " "
#define ce(x) cerr << (x) << "\n"
#define cesp(x) cerr << (x) << " "
#define pb push_back
#define mp make_pair
#define chmin(x, y) x = min(x, y)
#define chmax(x, y) x = max(x, y)
#define Would
#define you
#define please

ll num[524310];
bool kazu[524310];
const int ma = (1 << 19) - 1;
int k;
void add(ll n) {
	int n2 = (n & ma) + 1;
	while (num[n2]) {
		if (num[n2] == n + 1) {
			kazu[n2] = !kazu[n2];
			k += (kazu[n2] * 2) - 1;
			return;
		}
		n2 = n2 * 2 % 524309;
	}
	num[n2] = n + 1;
	kazu[n2] = 1;
	k++;
}

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);

	int T;
	cin >> T;

	rep(t, T) {
		int N;
		cin >> N;

		if (N % 2) {
			rep(i, N) {
				int a;
				cin >> a;
			}
			co("Second");
		}
		else {
			int tmp = k;
			rep(i, N) {
				int a;
				cin >> a;
				add(a + 1000000000ll * t);
			}
			if (tmp == k) co("Second");
			else co("First");
		}
	}

	Would you please return 0;
}