class DynamicFieldQuestion1 {
  int x = 0;

  int f() {
    x = 17;
    return g();
  }

  int g() {
    int y = 4;
    return x / y;
  }

  int question() {
    return f();
  }
/** What does question() return?

* A: 0
* B: 4
* C: Something else
*/
}

class DynamicFieldQuestion2 {
  int x = 0;

  int f() {
    this.x = 17;
    return g();
  }

  int g() {
    int y = 4;
    return x / y;
  }

  int question() {
    return f();
  }
/** What does question() return?

* A: 0
* B: 4
* C: Something else
*/
}

class DynamicFieldQuestion3 {
  int x = 0;

  int f() {
    int x = 17;
    return g();
  }

  int g() {
    int y = 4;
    return x / y;
  }

  int question() {
    return f();
  }
/** What does question() return?

* A: 0
* B: 4
* C: Something else
*/

}




class DynamicFieldQuestion4 {
  int x = 0;

  int f() {
    int x = 0;
    x = 17;
    return g();
  }

  int g() {
    int y = 4;
    return x / y;
  }

  int question() {
    return f();
  }

/** What does question() return?

* A: 0
* B: 4
* C: Something else
*/
}
class DynamicFieldQuestion5 {
  int x = 0;

  int f() {
    int x = 0;
    this.x = 17;
    return g();
  }

  int g() {
    int y = 4;
    return x / y;
  }

  int question() {
    return f();
  }

/** What does question() return?

* A: 0
* B: 4
* C: Something else
*/
}


public class HandoutFriday {
  public static void main(String[] args) {
    DynamicFieldQuestion1 q1 = new DynamicFieldQuestion1();
    System.out.println(q1.question());
    DynamicFieldQuestion2 q2 = new DynamicFieldQuestion2();
    System.out.println(q2.question());
    DynamicFieldQuestion3 q3 = new DynamicFieldQuestion3();
    System.out.println(q3.question());
    DynamicFieldQuestion4 q4 = new DynamicFieldQuestion4();
    System.out.println(q4.question());
    DynamicFieldQuestion5 q5 = new DynamicFieldQuestion5();
    System.out.println(q5.question());
  }
}
