#include <bits/stdc++.h>
using namespace std;
int n, m, k;
map<int, vector<pair<int, int> > > lie;
map<int, vector<pair<int, int> > > ha;
map<int, bool> vl;
map<int, bool> vh;
map<int, int> hl;
map<int, int> hh;
int xa, ya, xb, yb;
int hhh = 0;
int ll = 0;
int ans = 0;
int main() {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 1; i <= k; i++) {
    scanf("%d%d%d%d", &xa, &ya, &xb, &yb);
    if (xa == xb) {
      if (vl.find(xa) == vl.end()) vl[xa] = 1, ll++;
      if (ya > yb) swap(ya, yb);
      lie[xa].push_back(make_pair(ya, yb));
    } else {
      if (vh.find(ya) == vh.end()) vh[ya] = 1, hhh++;
      if (xa > xb) swap(xa, xb);
      ha[ya].push_back(make_pair(xa, xb));
    }
  }
  ll = n - 1 - ll;
  hhh = m - 1 - hhh;
  if (ll % 2) ans ^= m;
  if (hhh % 2) ans ^= n;
  for (int i = 1; i < n; i++) {
    if (vl.find(i) == vl.end()) {
      hl[i] = m;
      break;
    }
  }
  for (int i = 1; i < m; i++) {
    if (vh.find(i) == vh.end()) {
      hh[i] = n;
      break;
    }
  }
  for (auto &i : lie) {
    sort(i.second.begin(), i.second.end());
    int pp = 0;
    pp = i.second[0].second - i.second[0].first;
    int tt = i.second[0].second;
    for (int k = 1; k < i.second.size(); k++) {
      if (i.second[k].first <= tt) {
        if (i.second[k].second > tt)
          pp += i.second[k].second - tt, tt = i.second[k].second;
      } else {
        pp += i.second[k].second - i.second[k].first;
        tt = i.second[k].second;
      }
    }
    hl[i.first] = m - pp;
    ans ^= (m - pp);
  }
  for (auto &i : ha) {
    sort(i.second.begin(), i.second.end());
    int pp = 0;
    pp = i.second[0].second - i.second[0].first;
    int tt = i.second[0].second;
    for (int k = 1; k < i.second.size(); k++) {
      if (i.second[k].first <= tt) {
        if (i.second[k].second > tt)
          pp += i.second[k].second - tt, tt = i.second[k].second;
      } else {
        pp += i.second[k].second - i.second[k].first;
        tt = i.second[k].second;
      }
    }
    hh[i.first] = n - pp;
    ans ^= (n - pp);
  }
  if (ans) {
    cout << "FIRST" << endl;
    for (auto &i : hh) {
      int pp = ans ^ i.second;
      if (pp <= i.second) {
        pp = i.second - pp;
        if (ha.find(i.first) == ha.end()) {
          printf("%d %d %d %d\n", 0, i.first, pp, i.first);
        } else {
          printf("%d %d ", 0, i.first);
          int yy = 0;
          if (ha[i.first][0].first >= pp) {
            printf("%d %d\n", pp, i.first);
            return 0;
          }
          yy = ha[i.first][0].first;
          pp -= yy;
          yy = ha[i.first][0].second;
          for (int k = 1; k < ha[i.first].size(); k++) {
            if (ha[i.first][k].first <= yy) {
              yy = max(yy, ha[i.first][k].second);
            } else {
              if (ha[i.first][k].first - yy >= pp) {
                yy += pp;
                printf("%d %d\n", yy, i.first);
                return 0;
              } else {
                pp -= ha[i.first][k].first - yy;
                yy = max(yy, ha[i.first][k].second);
              }
            }
          }
          yy += pp;
          printf("%d %d\n", yy, i.first);
        }
        return 0;
      }
    }
    for (auto &i : hl) {
      int pp = ans ^ i.second;
      if (pp <= i.second) {
        pp = i.second - pp;
        if (lie.find(i.first) == lie.end()) {
          printf("%d %d %d %d\n", i.first, 0, i.first, pp);
        } else {
          printf("%d %d %d ", i.first, 0, i.first);
          int yy = 0;
          if (lie[i.first][0].first >= pp) {
            printf("%d\n", pp);
            return 0;
          }
          yy = lie[i.first][0].first;
          pp -= yy;
          yy = lie[i.first][0].second;
          for (int k = 1; k < lie[i.first].size(); k++) {
            if (lie[i.first][k].first <= yy) {
              yy = max(yy, lie[i.first][k].second);
            } else {
              if (lie[i.first][k].first - yy >= pp) {
                yy += pp;
                printf("%d\n", yy);
                return 0;
              } else {
                pp -= lie[i.first][k].first - yy;
                yy = max(yy, lie[i.first][k].second);
              }
            }
          }
          yy += pp;
          printf("%d\n", yy);
        }
        return 0;
      }
    }
  } else
    cout << "SECOND" << endl;
  return 0;
}
