class Alpha {
  void essai(Alpha a){
    System.out.println("alpha");
  }
}

class Beta extends Alpha {
  void essai(Beta b){
    System.out.println("beta");
  }
  public static void main(String[] args) {
    Beta b = new Beta();
    Alpha c = new Beta();
    b.essai(b); // essai(Beta)
    b.essai(c); // essai(Alpha)
  }
}

class Gamma extends Beta {
  void essai(Alpha a){
    System.out.println("gamma");
  }
  public static void main(String[] args){
    Beta d = new Gamma();
    Alpha e = new Gamma();
    d.essai(d); // essai(Beta)
    e.essai(d); // essai(Alpha)
    d.essai(e); // essai(Alpha)
  }
}

