#include <bits/stdc++.h>
using namespace std;
template <class T>
T sq(T x) {
  return x * x;
}
const long long inf = 2147383647;
const double pi = 2 * acos(0.0);
const double eps = 1e-7;
const long long maxint = 2147483647;
const long long minint = -2147483648;
long long gcd(long long a, long long b) {
  a = abs(a);
  b = abs(b);
  while (b) {
    a = a % b;
    swap(a, b);
  }
  return a;
}
long long power(long long a, long long p) {
  long long res = 1, x = a;
  while (p) {
    if (p & 1) res = (res * x);
    x = (x * x);
    p >>= 1;
  }
  return res;
}
long long bigmod(long long a, long long p, long long m) {
  long long res = 1, x = a % m;
  while (p) {
    if (p & 1) res = (res * x) % m;
    x = (x * x) % m;
    p >>= 1;
  }
  return res;
}
int main() {
  int x1, x2, a, b;
  scanf("%d %d %d %d", &x1, &x2, &a, &b);
  bool sw = false;
  if (x1 > x2) {
    swap(x1, x2);
    a *= -1;
    b *= -1;
    swap(a, b);
    sw = true;
  }
  int d = x2 - x1;
  if (b <= 0)
    printf("DRAW\n");
  else {
    if (a < 0) a = 0;
    if (a == 0) {
      if (d <= b) {
        int m;
        if (sw == false)
          m = x1 + d;
        else
          m = x2 - d;
        printf("FIRST\n%d\n", m);
      } else
        printf("DRAW\n");
    } else {
      d %= (a + b);
      int m;
      if (sw == false)
        m = x1 + d;
      else
        m = x2 - d;
      if (d == 0)
        printf("SECOND\n");
      else if (d >= a && d <= b)
        printf("FIRST\n%d\n", m);
      else
        printf("DRAW\n");
    }
  }
  return 0;
}
