What is the effect of attempting to compile and run this Java program that consists of two class definitions in separate files:
public class One
{
   public int getValue()
   {  return x;
   }

   public void setValue(int theX)
   {  x = theX;
   }

   protected int x = 3;
}

public class Two
   extends One
{
   public void setValue(int theX, int theY)
   {  x = theX + theY;
   }

   public static void main(String[] args)
   {  Two obj = new Two();
      obj.setValue(2);
      System.out.println(obj.getValue());
   }
}
(a) The program compiles and, when run, displays 2.
(b) It compiles and, when run, displays 3.
(c) It compiles and, when run, displays 5.
(d) It doesn't compile.

Select the most appropriate answer.