Cohesive team#5240

Cohesive team

1 second
64 megabytes
Medium

The LKS is planning to host the game "Fort Boyard". Teams can consist of players ranging from to 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: , , , and (1 \le N \le 2000, 0 \le M \le 10^5, 1 \le L \le R \le N). Here, represents the number of students available to participate, and is the number of friendship pairs. Each of the next lines contains two numbers a_i and b_i (1 \le a_i, b_i \le N, a_i \neq 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.

Examples

Example 1

Loading
Loading