I have two java class files
Hi.java which belongs to second package
package second;
public class Hi {
protected int v=20;
protected void m(){
    System.out.println("i am protectTED");
}
}
S.java which belong to first package
 package first;
import second.Hi;
interface i1
{
void m();
int a=200;
}
interface i2{
void m1();
int b=100;
}
class S extends Hi implements i1,i2
{
int a=50;
public void m()
{
    System.out.println("hi");
}
public void m1()
{
    System.out.println("hello");
}
public static void main(String[] args) {
    S s=new S();
    /*need correction here (i don't know the exact syntax to mention to get 
    the desired output)
    s.m(); //should invoke method m() from class Hi only.
    s.m(); //Should invoke method m() from class S only.
    */
    //the following statements prints the desired values
    s.m1();
    System.out.println(s.v);
    System.out.println(i1.a);
    System.out.println(s.a);
    System.out.println(b);
}
}
when i run the S.java class file method m() in class Hi should be invoked.("my intention") instead method m() of the same class i.e., class S is being invoked.
How to differentiate the 2 methods for invoking. Is it even possible?
 
    