#include using namespace std; int main(){ int n; cin >> n; int k = 1e9; vector a(n); for(int i = 0; i < n; i++){ cin >> a[i]; } int x = 0; for(auto i : a){ x ^= i; } if(x != 0){ cout << "First" << endl; while(true){ int ret; int sel = -1; for(int i = 0; i < n; i++){ if((a[i] ^ x) <= a[i] && a[sel] - (a[sel] ^ x) <= k){ sel = i; break; } } assert(sel != -1); cout << sel + 1 << " " << a[sel] - (a[sel] ^ x) << endl; k = a[sel] - (a[sel] ^ x); a[sel] = (a[sel] ^ x); cin >> ret; if(ret != 0){ return 0; } x = 0; for(auto v : a) x ^= v; assert (x == 0); cin >> sel >> x; a[sel - 1] -= x; k = x; cin >> ret; if(ret != 0){ return 0; } } } else{ cout << "Second" << endl; while(true){ int sel, x; cin >> sel >> x; a[sel - 1] -= x; k = x; int ret; cin >> ret; if(ret != 0){ return 0; } x = 0; for(auto i : a){ x ^= i; } sel = -1; int val = 0; for(int i = 0; i < n; i++){ if((a[i] ^ x) < a[i] && a[i] - (a[i] ^ x) < k){ sel = i; val = a[i] - (a[i] ^ x); a[i] ^= x; break; } } k = val; assert(sel != -1); cout << sel + 1 << " " << val << endl; cin >> ret; if(ret != 0){ return 0; } } } }