#include <bits/stdc++.h>
using namespace std;
int n, m, k;
int vc = 1, hc = 1, inv[100010], inh[100010];
map<int, int> vch, hch;
vector<pair<int, int> > V[100010], H[100010];
void input() {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 0; i < k; i++) {
    int a, b, c, d;
    scanf("%d%d%d%d", &a, &b, &c, &d);
    if (a > c) swap(a, c);
    if (b > d) swap(b, d);
    if (a == c) {
      if (a == 0 || a == n) continue;
      if (vch[a] == 0) vch[a] = vc++;
      int x = vch[a] - 1;
      inv[x] = a;
      V[x].push_back(make_pair(b, d));
    }
    if (b == d) {
      if (b == 0 || b == m) continue;
      if (hch[b] == 0) hch[b] = hc++;
      int x = hch[b] - 1;
      inh[x] = b;
      H[x].push_back(make_pair(a, c));
    }
  }
  vc--, hc--;
}
int cnt[4 * 100010], c = 0;
void solve(vector<pair<int, int> > v, int x) {
  sort(v.begin(), v.end());
  int prv = 0;
  cnt[c] = 0;
  for (__typeof((v).begin()) it = (v).begin(); it != (v).end(); it++) {
    int l = it->first, r = it->second;
    if (l > prv) cnt[c] += l - prv;
    prv = max(prv, r);
  }
  if (x > prv) cnt[c] += x - prv;
  c++;
}
int final(vector<pair<int, int> > v, int val) {
  sort(v.begin(), v.end());
  int prv = 0, sum = 0;
  for (__typeof((v).begin()) it = (v).begin(); it != (v).end(); it++) {
    int l = it->first, r = it->second;
    if (l > prv) {
      if (sum + l - prv >= val) return prv + val - sum;
      sum += l - prv;
    }
    prv = max(prv, r);
  }
  return prv + val - sum;
}
void calcu() {
  for (int i = 0; i < vc; i++) solve(V[i], m);
  for (int i = 0; i < hc; i++) solve(H[i], n);
  if ((n - vc - 1) & 1) cnt[c] = m;
  c++;
  if ((m - hc - 1) & 1) cnt[c] = n;
  c++;
  int ans = 0;
  for (int i = 0; i < c; i++) ans ^= cnt[i];
  if (ans == 0) {
    puts("SECOND");
    return;
  }
  puts("FIRST");
  for (int i = 0; i < vc; i++) {
    if ((cnt[i] ^ ans) <= cnt[i]) {
      printf("%d 0 %d %d\n", inv[i], inv[i],
             final(V[i], cnt[i] - (cnt[i] ^ ans)));
      return;
    }
  }
  for (int i = vc; i < vc + hc; i++) {
    if ((cnt[i] ^ ans) <= cnt[i]) {
      printf("0 %d %d %d\n", inh[i - vc],
             final(H[i - vc], cnt[i] - (cnt[i] ^ ans)), inh[i - vc]);
      return;
    }
  }
  if ((cnt[vc + hc] ^ ans) <= cnt[vc + hc]) {
    set<int> che;
    for (int i = 0; i < vc; i++) che.insert(inv[i]);
    for (int i = 1; i <= n; i++) {
      if (!che.count(i)) {
        printf("%d 0 %d %d\n", i, i, cnt[vc + hc] - (cnt[vc + hc] ^ ans));
        return;
      }
    }
  }
  if ((cnt[vc + hc + 1] ^ ans) <= cnt[vc + hc + 1]) {
    set<int> che;
    for (int i = 0; i < hc; i++) che.insert(inh[i]);
    for (int i = 1; i <= m; i++)
      if (!che.count(i)) {
        printf("0 %d %d %d\n", i, cnt[vc + hc + 1] - (cnt[vc + hc + 1] ^ ans),
               i);
        return;
      }
  }
}
int main() {
  input();
  calcu();
}
