import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.List; public class NaiveDice { private static final double EPS = 0.0000000000001d; private static void read() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br.readLine(); String[] line = br.readLine().split(" "); List A = Arrays.stream(line).map(Integer::parseInt).toList(); int SA = A.stream().mapToInt(i -> i).sum(); double[] PA = paths(A, SA); line = br.readLine().split(" "); br.close(); List B = Arrays.stream(line).map(Integer::parseInt).toList(); int SB = B.stream().mapToInt(i -> i).sum(); double[] PB = paths(B, SB); compare(PA, PB); } private static double[] paths(List A, int SA) { double[][] tab = new double[2][SA + 1]; tab[0][0] = 1; int i = 0; for (long l : A) { for (int j = 0; j <= SA; j++) { tab[1 - i][j] = 0; } for (int j = 0; j + l <= SA; j++) { for (int k = 1; k <= l; k++) { tab[1 - i][j + k] += tab[i][j] / l; } } i = 1 - i; } return tab[i]; } private static void compare(double[] PA, double[] PB) { double p = 0; for (int i = 0; i < PA.length; i++) { for (int j = 0; j < PB.length; j++) { if (i < j) { p -= PA[i] * PB[j]; } else if (i > j) { p += PA[i] * PB[j]; } } } System.out.println(p > EPS ? "ALICE" : p > -EPS ? "TIED" : "BOB"); } public static void main(String[] args) throws IOException { read(); } }