#include <bits/stdc++.h>
using namespace std;
const int lastR = 1e5 + 1;
int n, nTask, arr[lastR << 1], dp2[lastR << 1][3];
bool dp[lastR << 1][3];
inline int retMin(int x, int y) {
  if (x > y)
    return y;
  else
    return x;
}
inline int retMax(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
bool rec(int i, bool flag) {
  if (i > n) return flag;
  bool &ret = dp[i][flag];
  if (dp2[i][flag] == nTask) return ret;
  dp2[i][flag] = nTask;
  if (!flag) {
    if (arr[i] == 1) {
      ret = rec(i + 1, !flag);
    } else {
      ret = retMax(rec(i + 1, !flag), rec(i + 1, flag));
    }
  } else {
    if (arr[i] == 1) {
      ret = rec(i + 1, !flag);
    } else {
      ret = retMin(rec(i + 1, !flag), rec(i + 1, flag));
    }
  }
  return ret;
}
int main() {
  int cases;
  scanf("%d", &cases);
  while (cases--) {
    nTask++;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) scanf("%d", &arr[i]);
    bool ans = rec(1, 0);
    if (ans)
      printf("First\n");
    else
      printf("Second\n");
  }
  return 0;
}
