#include <bits/stdc++.h>
using namespace std;
char buf[1 << 20], *p1, *p2;
template <typename T>
inline void read(T &t) {
  register int v =
      (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 20, stdin), p1 == p2)
           ? EOF
           : *p1++);
  T f = 1;
  t = 0;
  while (!isdigit(v)) {
    if (v == '-') f = -1;
    v = (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 20, stdin), p1 == p2)
             ? EOF
             : *p1++);
  }
  while (isdigit(v)) {
    t = t * 10 + v - 48;
    v = (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 20, stdin), p1 == p2)
             ? EOF
             : *p1++);
  }
  t *= f;
}
template <typename T, typename... Args>
inline void read(T &t, Args &...args) {
  read(t);
  read(args...);
}
signed main() {
  long long a, b, c;
  cin >> a >> b >> c;
  const long long INF = 1e10;
  cout << "First" << endl;
  cout << INF << endl;
  long long x1, las, pos;
  cin >> x1;
  if (x1 == 1)
    a += INF, las = a;
  else if (x1 == 2)
    b += INF, las = b;
  else
    c += INF, las = c;
  long long tmp = 3 * las - a - b - c;
  cout << tmp << endl;
  long long x2, las1;
  cin >> x2;
  if (x2 == 1)
    a += tmp, las1 = a;
  else if (x2 == 2)
    b += tmp, las1 = b;
  else
    c += tmp, las1 = c;
  if (x1 == 1) {
    if (x2 == 2) {
      cout << a - c << endl;
    } else {
      cout << a - b << endl;
    }
  } else if (x1 == 2) {
    if (x2 == 1) {
      cout << b - c << endl;
    } else {
      cout << b - a << endl;
    }
  } else {
    if (x2 == 1) {
      cout << c - b << endl;
    } else {
      cout << c - a << endl;
    }
  }
  return 0;
}
