class A {

  protected int x;

  public A() {
    x = 2;
    System.out.println("default A");
  }
 
  public A(int i) {
    x = i;
    System.out.println("A with int");
  }

  public String toString() {
    return "x is "+x;
  }
}

public class B extends A {

  protected int y;

  public B() {
    y = 5;
    System.out.println("default B");
  }

  public B(int i) {
    y = i;
    System.out.println("B with int");
  }

  public B(int i, int j) {
    super(i);
    y = j;
    System.out.println("B with two ints");
  }

  public String toString() {
    return "x is "+x+" and y is "+y;
  }

  public static void main(String[] args) {

    A[] test = new A[3];
    test[0] = new A();
    test[1] = new B(4);
    test[2] = new B(3,7);
    for (int i=0; i<3; i++)
      System.out.println(test[i]);
  }
}
