There are 3 \cdot N same-year students studying in two specializations: mathematics () and programming (). Students of the first specialization are called mathematicians, and students of the second are called programmers. There are several groups for each specialization, and the number of groups is the same in both. Each group contains at least three students.
The students are busy with their studies, so they can meet only during classes. Each group has separate classes, except for physical education (P. E.). P. E. classes are held for pairs of groups from different specializations, and each group shares its P. E. class with only one other group. All groups attend P. E. classes.
All students are very responsible and attend every class. When two students attend the same class, they become acquainted.
Each group has a head. All the group heads attend head meetings, where they all meet one another and become acquainted.
Form teams of three students each, such that each student is on exactly one team. Each team must include at least one mathematician and at least one programmer, and all members of a team must be mutually acquainted.
The first line contains two integers and (1 \leq K, M \leq 1000, K = 3 \cdot N): the total number of students and the number of pairs of acquainted students, respectively. The second line consists of characters, each M or P, where the -th character describes the -th student's specialization. Each of the next lines contains a pair of acquainted students. It is guaranteed that the input describes students and acquaintanceships that do not contradict the problem statement.
Print Yes if it is possible to form such teams. Otherwise, print No. If it is possible, print lines, each containing the numbers of the three students in a team. If there are multiple solutions, output any.
Example 1