#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; using ull = unsigned long long; const ll INF = 1e16; const ll MOD = 1e9 + 7; #define REP(i, n) for(ll i = 0; i < n; i++) int main() { ll y, x; cin >> y >> x; bool f1 = false; if(y == 2 || y == 3){ f1 = true; } else if(y > 3){ ll i; for(i = 2; i <= ceil(sqrt(y)); i++){ if(y % i == 0){ break; } } if(i == ceil(sqrt(y)) + 1){ f1 = true; } } bool f2 = false; if(x == 2 || x == 3){ f2 = true; } else if(x > 3){ ll i; for(i = 2; i <= ceil(sqrt(x)); i++){ if(x % i == 0){ break; } } if(i == ceil(sqrt(x)) + 1){ f2 = true; } } if(f1 && f2){ cout << "Second" << endl; return 0; } ll a; if(y > 2){ for(a = y + 1;; a++){ ll i; for(i = 2; i <= ceil(sqrt(a)); i++){ if(a % i == 0){ break; } } if(i == ceil(sqrt(a)) + 1){ break; } } } else{ a = y + 1; } ll b; if(x > 2){ for(b = x + 1;; b++){ ll i; for(i = 2; i <= ceil(sqrt(b)); i++){ if(b % i == 0){ break; } } if(i == ceil(sqrt(b)) + 1){ break; } } } else{ b = x + 1; } if(((a - y - 1) + (b - x - 1)) % 2 == 0){ cout << "Second" << endl; } else{ cout << "First" << endl; } }