#include <bits/stdc++.h>
using namespace std;
map<pair<long long, long long>, bool> f;
long long a, b, Test;
bool Check(long long x, long long a) {
  if (!x) return false;
  return (x % (a + 1)) % 2 == 0;
}
bool Dp(long long a, long long b) {
  if (!a) return false;
  pair<long long, long long> p = make_pair(a, b);
  if (f.find(p) != f.end()) return f[p];
  bool g = Dp(b % a, a);
  if (!g)
    f[p] = true;
  else {
    int cnt = 0;
    long long x = b / a;
    if (Check(x, a))
      f[p] = true;
    else
      f[p] = false;
  }
  return f[p];
}
int main() {
  scanf("%d", &Test);
  f.clear();
  for (int ii = 0; ii < Test; ++ii) {
    scanf("%I64d%I64d", &a, &b);
    if (a > b) swap(a, b);
    if (Dp(a, b))
      printf("First\n");
    else
      printf("Second\n");
  }
  return 0;
}
