import java.util.*;
public class Main {
public static List<Integer> solution(List<Integer> a, List<Integer> b) {
Set<Integer> setA = new HashSet<>(a);
List<Integer> result = new ArrayList<>();
for (int num : b) {
if (setA.contains(num)) {
result.add(num);
}
}
result.sort((x, y) -> y - x);
return result;
}
public static void main(String[] args) {
System.out.println(solution(Arrays.asList(1, 2, 3, 7), Arrays.asList(2, 5, 7)).equals(Arrays.asList(7, 2)));
System.out.println(solution(Arrays.asList(1, 4, 8, 10), Arrays.asList(2, 4, 8, 10)).equals(Arrays.asList(10, 8, 4)));
System.out.println(solution(Arrays.asList(3, 5, 9), Arrays.asList(1, 4, 6)).equals(Collections.emptyList()));
System.out.println(solution(Arrays.asList(1, 2, 3), Arrays.asList(1, 2, 3)).equals(Arrays.asList(3, 2, 1)));
}
}