#include <bits/stdc++.h>
using namespace std;
const double PI = 3.14159265359;
const double E = 2.718281828459;
const long long MOD = 1000000007;
pair<long long, long long> solve(long long x1, long long x2, long long a,
                                 long long b) {
  pair<long long, long long> ans;
  long long dist = x2 - x1;
  if (dist < 0)
    ans.first = 0;
  else if (dist == 0 && a == 0) {
    ans.first = 1, ans.second = x2;
  } else {
    long long q = dist / (a + b);
    long long res = dist % (a + b);
    if (res == 0)
      ans.first = -1;
    else {
      if (res < a || res > b)
        ans.first = 0;
      else
        ans.first = 1, ans.second = x1 + res;
    }
  }
  return ans;
}
int main() {
  long long x1, x2, a, b;
  scanf("%I64d %I64d %I64d %I64d", &x1, &x2, &a, &b);
  long long state;
  long long ans, X1, X2, A, B;
  if (a <= 0 && 0 <= b) {
    if (x1 <= x2) {
      if (x1 + b >= x2)
        state = 1, ans = x2;
      else
        state = 0;
    } else {
      if (x1 + a <= x2)
        state = 1, ans = x2;
      else
        state = 0;
    }
  } else {
    X1 = x1, X2 = x2, A = a, B = b;
    if (a <= 0 && b <= 0) X1 = -x1, X2 = -x2, A = -b, B = -a;
    pair<long long, long long> couple = solve(X1, X2, A, B);
    state = couple.first, ans = couple.second;
    if (a <= 0 && b <= 0) ans = -ans;
  }
  if (state == 0)
    printf("DRAW");
  else if (state == -1)
    printf("SECOND");
  else
    printf("FIRST\n%d", ans);
  return 0;
}
