import java.util.*;
public class Main{

 public static void main(String[] args) {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 }
} import java.util.*; util.* java public class Main{

 public static void main(String[] args) {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 }
} Main public static void main(String[] args) {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 } main {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 } Scanner no=new Scanner(System.in); no new Scanner(System.in) String arr[]=new String[3]; arr new String[3] 3 for(int i=0;i<3;i++){
    arr[i]=no.next();
  } int i=0; int i=0; i 0 i<3 i 3 i++ i++ i {
    arr[i]=no.next();
  } {
    arr[i]=no.next();
  } arr[i]=no.next() arr[i] arr i no.next() no.next no int i=0; i 0 int j=0; j 0 int k=0; k 0 char c='a'; c 'a' while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  } true {
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  } if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    } c=='a' c 'a' {
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    } if(i==arr[0].length()){
        System.out.println("A");
        break;
      } i==arr[0].length() i arr[0].length() arr[0].length arr[0] arr 0 {
        System.out.println("A");
        break;
      } System.out.println("A") System.out.println System.out System System.out "A" break; c=arr[c-'a'].charAt(i++) c arr[c-'a'].charAt(i++) arr[c-'a'].charAt arr[c-'a'] arr c-'a' c 'a' i++ i if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    } c=='b' c 'b' {
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    } if(j==arr[1].length()){
        System.out.println("B");
        break;
      } j==arr[1].length() j arr[1].length() arr[1].length arr[1] arr 1 {
        System.out.println("B");
        break;
      } System.out.println("B") System.out.println System.out System System.out "B" break; c=arr[c-'a'].charAt(j++) c arr[c-'a'].charAt(j++) arr[c-'a'].charAt arr[c-'a'] arr c-'a' c 'a' j++ j {
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    } if(k==arr[2].length()){
        System.out.println("C");
        break;
      } k==arr[2].length() k arr[2].length() arr[2].length arr[2] arr 2 {
        System.out.println("C");
        break;
      } System.out.println("C") System.out.println System.out System System.out "C" break; c=arr[c-'a'].charAt(k++) c arr[c-'a'].charAt(k++) arr[c-'a'].charAt arr[c-'a'] arr c-'a' c 'a' k++ k String[] args args public class Main{

 public static void main(String[] args) {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 }
} public class Main{

 public static void main(String[] args) {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 }
} Main
import java.util.*;
public class Main{

 public static void main(String[] args) {
  Scanner no=new Scanner(System.in);
  String arr[]=new String[3];
  for(int i=0;i<3;i++){
    arr[i]=no.next();
  }
  int i=0;
  int j=0;
  int k=0;
  char c='a';
  while(true){
    if(c=='a'){
      if(i==arr[0].length()){
        System.out.println("A");
        break;
      }
      c=arr[c-'a'].charAt(i++);
    }
    else if(c=='b'){
      if(j==arr[1].length()){
        System.out.println("B");
        break;
      }
      c=arr[c-'a'].charAt(j++);
    }
    else{
      if(k==arr[2].length()){
        System.out.println("C");
        break;
      }
      c=arr[c-'a'].charAt(k++);
    }
  }
 }
}