#include <bits/stdc++.h>   using namespace std;   int getResult(long long y) {     printf( %lld n , y);     fflush(stdout);     int vd;     scanf( %d , &vd);     if (vd <= 0) exit(0);     vd--;     return vd;   }   bool solve(vector<long long> a) {     int maxIndex = 0;     for (int i = 1; i < 3; i++)       if (a[i] > a[maxIndex]) maxIndex = i;     int minIndex = 0;     for (int i = 1; i < 3; i++)       if (a[i] < a[minIndex]) minIndex = i;     int middle = 3 - maxIndex - minIndex;     long long w = 2 * a[maxIndex] - a[minIndex] - a[middle];     int r = getResult(w);     if (r == maxIndex) {       a[maxIndex] += w;       return solve(a);     } else {       int otherone = 3 - maxIndex - r;       long long w2 = a[maxIndex] - a[otherone];       int r2 = getResult(w2);       return r2 == 0;     }   }   int main() {     vector<long long> a(3);     for (int i = 0; i < 3; i++) scanf( %lld , &a[i]);     printf( First n );     fflush(stdout);     solve(a);     return 0;   }   