#include <bits/stdc++.h>
using namespace std;
int n, m, k, ta, tb, sa, sb, now, ans;
pair<pair<int, int>, pair<int, int> > x[100005], y[100005], t;
void WORK() {
  int p = -1;
  now = 0;
  if (ta == 0 || x[0].first.first != 1) p = 1;
  if (x[ta - 1].first.first != n - 1) p = n - 1;
  for (int i = 1; i <= ta; i++)
    if (x[i].first.first != x[i - 1].first.first) {
      if (x[i].first.first != x[i - 1].first.first + 1) {
        p = x[i - 1].first.first + 1;
        break;
      }
      int tmp = 0, sum = 0;
      for (int j = now; j < i; j++)
        if (tmp <= x[j].first.second) {
          tmp = x[j].second.second;
          sum += x[j].second.second - x[j].first.second;
        } else if (tmp < x[j].second.second) {
          sum += x[j].second.second - tmp;
          tmp = x[j].second.second;
        }
      int T = ans ^ (m - sum);
      tmp = 0;
      int pre = 0;
      if (m - sum < T) {
        now = i;
        continue;
      }
      for (int j = now; j < i; j++)
        if (tmp <= x[j].first.second) {
          if (x[j].first.second - tmp + pre >= m - sum - T) {
            printf("%d %d %d %d\n", x[j].first.first, 0, x[j].first.first,
                   tmp + m - sum - T - pre);
            return;
          }
          pre += x[j].first.second - tmp;
          tmp = x[j].second.second;
        } else if (tmp < x[j].second.second)
          tmp = x[j].second.second;
      if (m - tmp + pre >= m - sum - T) {
        printf("%d %d %d %d\n", x[now].first.first, 0, x[now].first.first,
               tmp + m - sum - T - pre);
        return;
      }
      now = i;
    }
  if (p != -1 && m > (ans ^ m)) {
    printf("%d %d %d %d\n", p, 0, p, m - (ans ^ m));
    return;
  }
  p = -1;
  now = 0;
  if (tb == 0 || y[0].first.first != 1) p = 1;
  if (y[tb - 1].first.first != m - 1) p = m - 1;
  for (int i = 1; i <= tb; i++)
    if (y[i].first.first != y[i - 1].first.first) {
      if (y[i].first.first != y[i - 1].first.first + 1) {
        p = y[i - 1].first.first + 1;
        break;
      }
      int tmp = 0, sum = 0;
      for (int j = now; j < i; j++)
        if (tmp <= y[j].first.second) {
          tmp = y[j].second.second;
          sum += y[j].second.second - y[j].first.second;
        } else if (tmp < y[j].second.second) {
          sum += y[j].second.second - tmp;
          tmp = y[j].second.second;
        }
      int T = ans ^ (n - sum);
      tmp = 0;
      int pre = 0;
      if (n - sum < T) {
        now = i;
        continue;
      }
      for (int j = now; j < i; j++)
        if (tmp <= y[j].first.second) {
          if (y[j].first.second - tmp + pre >= n - sum - T) {
            printf("%d %d %d %d\n", 0, y[j].first.first,
                   tmp + n - sum - T - pre, y[j].first.first);
            return;
          }
          pre += y[j].first.second - tmp;
          tmp = y[j].second.second;
        } else if (tmp < y[j].second.second)
          tmp = y[j].second.second;
      if (n - tmp + pre >= n - sum - T) {
        printf("%d %d %d %d\n", 0, y[now].first.first, tmp + n - sum - T - pre,
               y[now].first.first);
        return;
      }
      now = i;
    }
  printf("%d %d %d %d\n", 0, p, n - (ans ^ n), p);
}
int main() {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 0; i < k; i++) {
    scanf("%d%d%d%d", &t.first.first, &t.first.second, &t.second.first,
          &t.second.second);
    if (t.first.first == t.second.first && t.first.second > t.second.second)
      swap(t.first, t.second);
    if (t.first.second == t.second.second && t.first.first > t.second.first)
      swap(t.first, t.second);
    if (t.first.first == t.second.first) x[ta++] = t;
    if (t.first.second == t.second.second) {
      swap(t.first.second, t.first.first);
      swap(t.second.second, t.second.first);
      y[tb++] = t;
    }
  }
  ans = 0;
  sort(x, x + ta);
  x[ta].first.first = x[ta - 1].first.first + 1;
  now = 0;
  sa = 0;
  for (int i = 1; i <= ta; i++)
    if (x[i].first.first != x[i - 1].first.first) {
      sa++;
      int tmp = 0, sum = 0;
      for (int j = now; j < i; j++)
        if (tmp <= x[j].first.second) {
          tmp = x[j].second.second;
          sum += x[j].second.second - x[j].first.second;
        } else if (tmp < x[j].second.second) {
          sum += x[j].second.second - tmp;
          tmp = x[j].second.second;
        }
      ans ^= (m - sum);
      now = i;
    }
  if ((n - sa - 1) & 1) ans ^= m;
  sort(y, y + tb);
  y[tb].first.first = y[tb - 1].first.first + 1;
  now = 0;
  sb = 0;
  for (int i = 1; i <= tb; i++)
    if (y[i].first.first != y[i - 1].first.first) {
      sb++;
      int tmp = 0, sum = 0;
      for (int j = now; j < i; j++)
        if (tmp <= y[j].first.second) {
          tmp = y[j].second.second;
          sum += y[j].second.second - y[j].first.second;
        } else if (tmp < y[j].second.second) {
          sum += y[j].second.second - tmp;
          tmp = y[j].second.second;
        }
      ans ^= (n - sum);
      now = i;
    }
  if ((m - sb - 1) & 1) ans ^= n;
  if (ans) {
    printf("FIRST\n");
    WORK();
  } else
    printf("SECOND\n");
  return 0;
}
