Public vs Private, Static vs Non-static

Which of the method calls and field accesses (shown in underlined bold)  in UseSample.java and Sample.java are legal in Java?

In UseSample.java

public class UseSample {
    public static void main(String [] args) {
        Sample s1 = new Sample(1, 2);
        Sample s2 = new Sample(3, 4);                
        Sample.ourData = Sample.method1(s2) * s2.method3(s1);
                
        s1.myData = this.ourData + counter;
                
        s2.myInfo = s1.method2(s1) * s2.ourData;
                
        Sample.counter += Sample.method4(s1) + 7;
    }
}

In Sample.java

public class Sample {
    public int myData;
    public static int ourData = 4;
    private int myInfo;
    private static int counter = 0;

    public Sample(int x, int y) {
        myData = x;
        myInfo = y;
        counter++;
    }
    public int method1(Sample input) {
        return input.myInfo + counter * myData - method3(input);
    }
    public static int method2(Sample input) {
        return input.myInfo - Sample.counter + method4(input);
    }
    private int method3(Sample input) {
        return myData - ourData * input.method1(this);
    }
    private static int method4(Sample input) {
        return input.method3(input) + myData;
    }
    
    public static void main(String [] args) {
        Sample s1 = new Sample(1, 2);
        Sample s2 = new Sample(3, 4);
        Sample.ourData = Sample.method1(s2) * s2.method3(s1);

        s1.myData = this.ourData + counter;

        s2.myInfo = s1.method2(s1) * s2.ourData;

        Sample.counter += Sample.method4(s1) + 7;
    }
}