
import java.util.Scanner;

public class Main {

	static Scanner scanner;
	public static void main(String[] args) {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	}

	// 文字列として入力を取得
	public static String gs() {
		return scanner.next();
	}

	// intとして入力を取得
	public static int gi() {
		return Integer.parseInt(scanner.next());
	}

	// longとして入力を取得
	public static long gl() {
		return Long.parseLong(scanner.next());
	}
} import java.util.Scanner; Scanner java.util public class Main {

	static Scanner scanner;
	public static void main(String[] args) {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	}

	// 文字列として入力を取得
	public static String gs() {
		return scanner.next();
	}

	// intとして入力を取得
	public static int gi() {
		return Integer.parseInt(scanner.next());
	}

	// longとして入力を取得
	public static long gl() {
		return Long.parseLong(scanner.next());
	}
} Main static Scanner scanner; scanner public static void main(String[] args) {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	} main {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	} scanner = new Scanner(System.in) scanner new Scanner(System.in) String A=gs(); A gs() gs String B=gs(); B gs() gs String C=gs(); C gs() gs int a=0; a 0 int b=1; b 1 int c=2; c 2 int t=a; t a int ai=0; ai 0 int bi=0; bi 0 int ci=0; ci 0 while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    } true {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    } if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        } t==a t a {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        } t=A.charAt(ai) - 97 t A.charAt(ai) - 97 A.charAt(ai) A.charAt A ai 97 ai++ ai if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        } t==b t b {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } t=B.charAt(bi) - 97 t B.charAt(bi) - 97 B.charAt(bi) B.charAt B bi 97 bi++ bi if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        } t==c t c {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        } t=C.charAt(ci)-97 t C.charAt(ci)-97 C.charAt(ci) C.charAt C ci 97 ci++ ci if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        } t==a && ai==A.length() t==a t a ai==A.length() ai A.length() A.length A {
	        	System.out.print("A");
	        	return;
	        } System.out.print("A") System.out.print System.out System System.out "A" return; if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        } t==b && bi==B.length() t==b t b bi==B.length() bi B.length() B.length B {
	        	System.out.print("B");
	        	return;
	        } System.out.print("B") System.out.print System.out System System.out "B" return; if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        } t==c && ci==C.length() t==c t c ci==C.length() ci C.length() C.length C {
	        	System.out.print("C");
	        	return;
	        } System.out.print("C") System.out.print System.out System System.out "C" return; String[] args args // 文字列として入力を取得
	public static String gs() {
		return scanner.next();
	} gs {
		return scanner.next();
	} return scanner.next(); scanner.next() scanner.next scanner // intとして入力を取得
	public static int gi() {
		return Integer.parseInt(scanner.next());
	} gi {
		return Integer.parseInt(scanner.next());
	} return Integer.parseInt(scanner.next()); Integer.parseInt(scanner.next()) Integer.parseInt Integer scanner.next() scanner.next scanner // longとして入力を取得
	public static long gl() {
		return Long.parseLong(scanner.next());
	} gl {
		return Long.parseLong(scanner.next());
	} return Long.parseLong(scanner.next()); Long.parseLong(scanner.next()) Long.parseLong Long scanner.next() scanner.next scanner public class Main {

	static Scanner scanner;
	public static void main(String[] args) {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	}

	// 文字列として入力を取得
	public static String gs() {
		return scanner.next();
	}

	// intとして入力を取得
	public static int gi() {
		return Integer.parseInt(scanner.next());
	}

	// longとして入力を取得
	public static long gl() {
		return Long.parseLong(scanner.next());
	}
} public class Main {

	static Scanner scanner;
	public static void main(String[] args) {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	}

	// 文字列として入力を取得
	public static String gs() {
		return scanner.next();
	}

	// intとして入力を取得
	public static int gi() {
		return Integer.parseInt(scanner.next());
	}

	// longとして入力を取得
	public static long gl() {
		return Long.parseLong(scanner.next());
	}
} Main

import java.util.Scanner;

public class Main {

	static Scanner scanner;
	public static void main(String[] args) {
	    scanner = new Scanner(System.in);

	    String A=gs();
	    String B=gs();
	    String C=gs();

	    int a=0;
	    int b=1;
	    int c=2;
	    int t=a;
	    int ai=0;
	    int bi=0;
	    int ci=0;
	    while(true) {
	        if (t==a) {
	        	t=A.charAt(ai) - 97;
	        	ai++;
	        }else if (t==b) {
	        	t=B.charAt(bi) - 97;
	        	bi++;
	        } else if (t==c) {
	        	t=C.charAt(ci)-97;
	        	ci++;
	        }
	        
	        if (t==a && ai==A.length()) {
	        	System.out.print("A");
	        	return;
	        }else if (t==b && bi==B.length()) {
	        	System.out.print("B");
	        	return;
	        }else if (t==c && ci==C.length()) {
	        	System.out.print("C");
	        	return;
	        }
	    }
//        if (a<=c&&c<=b) {
//        	System.out.print("Yes");
//        }else{
//        	System.out.print("No");
//        }


	}

	// 文字列として入力を取得
	public static String gs() {
		return scanner.next();
	}

	// intとして入力を取得
	public static int gi() {
		return Integer.parseInt(scanner.next());
	}

	// longとして入力を取得
	public static long gl() {
		return Long.parseLong(scanner.next());
	}
}