50 50 50 50
 49 49 4 1
 48 50 12 11
 5 7 1 10
 1 50 50 50
 5 7 1 4
 32 4 17 3
 1 50 1 50
 50 1 1 1
 32 31 10 9
 5 7 4 1
 49 49 3 3
 50 49 1 2
 50 48 3 1
 50 1 1 50
 5 7 10 10
 1 1 1 1
 49 50 11 12

Second
 Second
 Second
 Second
 Second
 Second
 First
 Second
 First
 First
 Second
 Second
 First
 First
 First
 Second
 Second
 Second

#include <bits/stdc++.h>
int f[60][60][3], n1, n2, k1, k2;
int Max(int a, int b) {
  if (a > b) return a;
  return b;
}
int Gen(int x, int y, int pl) {
  if (f[x][y][pl] != -1) return f[x][y][pl];
  int v = 0, p = 0;
  if (pl == 1) {
    for (int i = x - 1; i >= Max(0, x - k1); i--)
      if (Gen(i, y, 3 - pl))
        v = 1;
      else
        p = 1;
    if (v)
      f[x][y][pl] = 1;
    else
      f[x][y][pl] = 0;
  } else {
    for (int i = y - 1; i >= Max(0, y - k2); i--)
      if (Gen(x, i, 3 - pl))
        v = 1;
      else
        p = 1;
    if (p)
      f[x][y][pl] = 0;
    else
      f[x][y][pl] = 1;
  }
  return f[x][y][pl];
}
int main() {
  scanf("%d%d%d%d", &n1, &n2, &k1, &k2);
  for (int i = 0; i < 60; i++)
    for (int j = 0; j < 60; j++) f[i][j][2] = f[i][j][1] = -1;
  for (int i = 1; i <= n2; i++) f[0][i][2] = 0;
  for (int i = 1; i <= n1; i++) f[i][0][2] = 1;
  if (Gen(n1, n2, 1))
    printf("First");
  else
    printf("Second");
  return 0;
}
