Cohesive team
The LKS is planning to host the game "Fort Boyard". Teams can consist of players ranging from L to R members. If one member of the LKS joins a team, all their friends must also be part of that team. The cohesion of a team is defined as the number of pairs of friends within it.
Your task is to help the students form the most cohesive team possible.
Input
The first line of the input contains four natural numbers separated by spaces: N, M, L, and R (1 ≤ N ≤ 2000, 0 ≤ M ≤ 10^5, 1 ≤ L ≤ R ≤ N). Here, N represents the number of students available to participate, and M is the number of friendship pairs. Each of the next M lines contains two numbers a_i and b_i (1 ≤ a_i, b_i ≤ N, a_i ≠ b_i), indicating that students a_i and b_i are friends.
Output
On the first line, output the number of members in the optimal team. On the second line, list the numbers of all team members, separated by spaces. If it is not possible to form such a team, output -1 on a single line.