Doubt Sort Game

I don’t understand what is wrong with my code. It doesn’t pass all test cases.

import java.util.*;

public class Main {

static class sortGame{
	String name;
	Integer salary;
	public sortGame(String name,Integer salary)
	{
		this.name=name;
		this.salary=salary;
	}
}
public static void sort(sortGame []arr,int x)
{
	if(arr.length==0) return;
	Arrays.sort(arr,new Comparator<sortGame>(){
		public int  compare(sortGame s1,sortGame s2)
		{
			if (s1.salary.equals(s2.salary)) {
        if (s1.name.contains(s2.name) || s2.name.contains(s1.name)) {
            return s2.name.compareTo(s1.name);
        }
        return s1.name.compareTo(s2.name);
    }
    return s2.salary - s1.salary;
		}	 
	});
	for(int i=0;i<arr.length;i++)
	{
		if(arr[i].salary>x)
		{
			System.out.println(arr[i].name+" "+arr[i].salary);
		}
	}
}
public static void main(String args[]) {
    Scanner sc=new Scanner(System.in);
	int x=sc.nextInt();
	int n=sc.nextInt();
	sortGame []arr=new sortGame[n];
	for(int i=0;i<n;i++)
	{
		String name=sc.next();
		int salary=sc.nextInt();
		arr[i]=new sortGame(name,salary);
	}
	sort(arr,x);
}

}

for the input

73
10
Tarun 52
Sanjeet 36
Prateek 47
Pranav 86
Sneha 73
Sohail 4
Jatin 12
Mehak 69
Abhishek 92
Bipin 88

the output should be

Abhishek 92
Bipin 88
Pranav 86
Sneha 73

debug for this