import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	}

} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	}

} Main public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	} main {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	} Scanner s = new Scanner(System.in); s new Scanner(System.in) String a = s.nextLine(); a s.nextLine() s.nextLine s String b = s.nextLine(); b s.nextLine() s.nextLine s String c = s.nextLine(); c s.nextLine() s.nextLine s String ans = ""; ans "" String aa = "A"; aa "A" String bb = "B"; bb "B" String cc = "C"; cc "C" int a1 = a.length(); a1 a.length() a.length a int b1 = b.length(); b1 b.length() b.length b int c1 = c.length(); c1 c.length() c.length c int i = 0; i 0 int j = 0; j 0 int k = 0; k 0 String senntou = "a"; senntou "a" List<String> lista = new ArrayList<String>(); lista new ArrayList<String>() List<String> listb = new ArrayList<String>(); listb new ArrayList<String>() List<String> listc = new ArrayList<String>(); listc new ArrayList<String>() for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		} i = 0; i = 0 i 0 i < a1 i a1 i++ i++ i {
			lista.add(a.charAt(i) + "");
		} {
			lista.add(a.charAt(i) + "");
		} lista.add(a.charAt(i) + "") lista.add lista a.charAt(i) + "" a.charAt(i) a.charAt a i "" for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		} j = 0; j = 0 j 0 j < b1 j b1 j++ j++ j {
			listb.add(b.charAt(j) + "");
		} {
			listb.add(b.charAt(j) + "");
		} listb.add(b.charAt(j) + "") listb.add listb b.charAt(j) + "" b.charAt(j) b.charAt b j "" for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		} k = 0; k = 0 k 0 k < c1 k c1 k++ k++ k {
			listc.add(c.charAt(k) + "");
		} {
			listc.add(c.charAt(k) + "");
		} listc.add(c.charAt(k) + "") listc.add listc c.charAt(k) + "" c.charAt(k) c.charAt c k "" i = 0 i 0 for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		} i = 0; i = 0 i 0 i++ i++ i {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		} {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		} if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			} senntou.equals("a") senntou.equals senntou "a" {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				} lista.size() == 0 lista.size() lista.size lista 0 {

					ans = aa;
					break;

				} ans = aa ans aa break; if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				} lista.get(0).equals("a") lista.get(0).equals lista.get(0) lista.get lista 0 "a" {

					senntou = lista.get(0);

					lista.remove(0);

				} senntou = lista.get(0) senntou lista.get(0) lista.get lista 0 lista.remove(0) lista.remove lista 0 if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				} lista.get(0).equals("b") lista.get(0).equals lista.get(0) lista.get lista 0 "b" {

					senntou = lista.get(0);
					lista.remove(0);

				} senntou = lista.get(0) senntou lista.get(0) lista.get lista 0 lista.remove(0) lista.remove lista 0 if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				} lista.get(0).equals("c") lista.get(0).equals lista.get(0) lista.get lista 0 "c" {

					senntou = lista.get(0);
					lista.remove(0);

				} senntou = lista.get(0) senntou lista.get(0) lista.get lista 0 lista.remove(0) lista.remove lista 0 if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			} senntou.equals("b") senntou.equals senntou "b" {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				} listb.size() == 0 listb.size() listb.size listb 0 {
					ans = bb;
					break;
				} ans = bb ans bb break; if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				} listb.get(0).equals("a") listb.get(0).equals listb.get(0) listb.get listb 0 "a" {

					senntou = listb.get(0);
					listb.remove(0);

				} senntou = listb.get(0) senntou listb.get(0) listb.get listb 0 listb.remove(0) listb.remove listb 0 if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				} listb.get(0).equals("b") listb.get(0).equals listb.get(0) listb.get listb 0 "b" {

					senntou = listb.get(0);
					listb.remove(0);

				} senntou = listb.get(0) senntou listb.get(0) listb.get listb 0 listb.remove(0) listb.remove listb 0 if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				} listb.get(0).equals("c") listb.get(0).equals listb.get(0) listb.get listb 0 "c" {

					senntou = listb.get(0);
					listb.remove(0);

				} senntou = listb.get(0) senntou listb.get(0) listb.get listb 0 listb.remove(0) listb.remove listb 0 if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			} senntou.equals("c") senntou.equals senntou "c" {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			} if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				} listc.size() == 0 listc.size() listc.size listc 0 {
					ans = cc;
					break;

				} ans = cc ans cc break; if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				} listc.get(0).equals("a") listc.get(0).equals listc.get(0) listc.get listc 0 "a" {

					senntou = listc.get(0);
					listc.remove(0);

				} senntou = listc.get(0) senntou listc.get(0) listc.get listc 0 listc.remove(0) listc.remove listc 0 if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				} listc.get(0).equals("b") listc.get(0).equals listc.get(0) listc.get listc 0 "b" {

					senntou = listc.get(0);
					listc.remove(0);

				} senntou = listc.get(0) senntou listc.get(0) listc.get listc 0 listc.remove(0) listc.remove listc 0 if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				} listc.get(0).equals("c") listc.get(0).equals listc.get(0) listc.get listc 0 "c" {

					senntou = listc.get(0);
					listc.remove(0);

				} senntou = listc.get(0) senntou listc.get(0) listc.get listc 0 listc.remove(0) listc.remove listc 0 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	}

} public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	}

} Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String a = s.nextLine();
		String b = s.nextLine();
		String c = s.nextLine();
		String ans = "";

		String aa = "A";
		String bb = "B";
		String cc = "C";

		int a1 = a.length();
		int b1 = b.length();
		int c1 = c.length();
		int i = 0;
		int j = 0;
		int k = 0;
		String senntou = "a";

		List<String> lista = new ArrayList<String>();
		List<String> listb = new ArrayList<String>();
		List<String> listc = new ArrayList<String>();

		for (i = 0; i < a1; i++) {
			lista.add(a.charAt(i) + "");
		}

		for (j = 0; j < b1; j++) {
			listb.add(b.charAt(j) + "");
		}

		for (k = 0; k < c1; k++) {
			listc.add(c.charAt(k) + "");
		}

		i = 0;
		for (i = 0;; i++) {
			

			if (senntou.equals("a")) {

				if (lista.size() == 0) {

					ans = aa;
					break;

				} else if (lista.get(0).equals("a")) {

					senntou = lista.get(0);

					lista.remove(0);

				} else if (lista.get(0).equals("b")) {

					senntou = lista.get(0);
					lista.remove(0);

				} else if (lista.get(0).equals("c")) {

					senntou = lista.get(0);
					lista.remove(0);

				}

			} else if (senntou.equals("b")) {
				if (listb.size() == 0) {
					ans = bb;
					break;
				} else if (listb.get(0).equals("a")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("b")) {

					senntou = listb.get(0);
					listb.remove(0);

				} else if (listb.get(0).equals("c")) {

					senntou = listb.get(0);
					listb.remove(0);

				}

			} else if (senntou.equals("c")) {
				if (listc.size() == 0) {
					ans = cc;
					break;

				} else if (listc.get(0).equals("a")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("b")) {

					senntou = listc.get(0);
					listc.remove(0);

				} else if (listc.get(0).equals("c")) {

					senntou = listc.get(0);
					listc.remove(0);

				}
			}
		}

		System.out.println(ans);

	}

}