import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
class Employee {
private String name;
private int age;
private double salary;
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
}
public class Main {
public static String processEmployees(List<Employee> employees) {
return employees.stream()
.filter(employee -> employee.getAge() > 30 && employee.getSalary() > 10000)
.sorted(Comparator.comparingDouble(Employee::getSalary).reversed())
.limit(3)
.map(Employee::getName)
.collect(Collectors.joining(","));
}
public static void main(String[] args) {
List<Employee> employees = new ArrayList<>();
employees.add(new Employee("Alice", 35, 12000));
employees.add(new Employee("Bob", 28, 9000));
employees.add(new Employee("Charlie", 32, 11000));
employees.add(new Employee("David", 38, 13000));
employees.add(new Employee("Eve", 25, 8000));
employees.add(new Employee("Frank", 33, 10500));
String result = processEmployees(employees);
System.out.println(result);
}
}