// Задача "Игра <<Делимость>>"
// Шестая Интернет-олимпиада сезона 2009-2010, усложненный уровень
// Автор задачи: Сергей Поромов, poromov@rain.ifmo.ru
// Автор решения: Сергей Поромов, poromov@rain.ifmo.ru

import java.io.*;
import java.util.*;

public class divisigame_sp_slow implements Runnable {

	public static void main(String[] args) {
		new Thread(new divisigame_sp_slow()).start();
	}

	public void run() {
		try {
			Locale.setDefault(Locale.US);
			br = new BufferedReader(new FileReader(FILENAME + ".in"));
			out = new PrintWriter(FILENAME + ".out");
			solve();
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	BufferedReader br;
	PrintWriter out;
	StringTokenizer st;
	boolean eof;

	String nextToken() {
		while (st == null || !st.hasMoreTokens()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (Exception e) {
				eof = true;
				return "0";
			}
		}
		return st.nextToken();
	}

	int nextInt() {
		return Integer.parseInt(nextToken());
	}

	void myAssert(boolean e, String s) {
		if (!e) {
			throw new Error("Assertion failure " + s);
		}
	}

	private static final String FILENAME = "divisigame";
	
	int MAXN = 50;
	
//	HashMap<State, Integer> hm;

	public void solve() {
		int n = nextInt();
		int[] cnt = new int[3];
		for (int i = 0; i < n; i++) {
			cnt[(nextInt() % 3 + 3) % 3]++;
		}
		State start = new State(cnt);
//		hm = new HashMap<State, Integer>();
		int res = start.count();
		if (res > 0) {
			out.println("FIRST");
		} else if (res == 0) {
			out.println("DRAW");
		} else {
			out.println("SECOND");
		}
	}
	

	class State {
		int suma, sumb, numturn;
		int[] cnt;
		int sum;
		
		public State(int[] cnt2) {
			cnt = cnt2.clone();
			suma = 0;
			sumb = 0;
			numturn = 0;
			sum = 0;
			for (int i = 0; i < cnt.length; i++) {
				sum += cnt[i];
			}
		}

		public int count() {
			if (numturn == sum) {
				if (suma == 0 && sumb != 0) {
					if (numturn % 2 == 0) {
						return 1;
					} else {
						return -1;
					}
				}
				if (suma != 0 && sumb == 0) {
					if (numturn % 2 == 0) {
						return -1;
					} else {
						return 1;
					}
				}
				return 0;
			}
			boolean isDraw = false;
			for (int i = 0; i < cnt.length; i++) {
				if (cnt[i] > 0) {
					cnt[i]--;
					if (numturn % 2 == 0) {
						suma = (suma + i) % 3;
					} else {
						sumb = (sumb + i) % 3;
					}
					numturn++;
					int t = count();
					numturn--;
					cnt[i]++;
					if (numturn % 2 == 0) {
						suma = (suma - i + 3) % 3;
					} else {
						sumb = (sumb - i + 3) % 3;
					}
					if (t < 0) {
						return 1;
					}
					if (t == 0) {
						isDraw = true;
					}
				}
			}
			if (isDraw) {
				return 0;
			}
			return -1;
		}
//
//		@Override
//		public int hashCode() {
//			return ((((suma * 3 * MAXN + sumb) * MAXN + numturn) * MAXN + cnt[0]) * MAXN + cnt[1]) * MAXN + cnt[2]; 
//		}
//		
//		@Override
//		public boolean equals(Object o) {
//			return (o instanceof State) && o.hashCode() == this.hashCode();
//		}
	}
}
