Ice Game
To join Skipper's team, a penguin must pass a series of tests: an obstacle course from Skipper, a sparring match with Rico, code decryption from Kowalski, and a final task from Kowalski.
You, a rookie penguin, have successfully reached the final challenge. Kowalski presents you with the following game. You are given m sets of colorful ice chips, each chip being one of n colors. Different colors are represented by different uppercase letters of the Latin alphabet. You can select a subset of these sets, provided that each color chip appears no more than once in this subset. If you choose k sets with indices i_1, i_2, ..., i_k, your score will be the sum of points, where l_ij is the number of chips in set i_j.
Kowalski challenges you to find a subset with the maximum score.
Your task is to find any subset that satisfies Kowalski's conditions.
Input
The first line of the input file contains the number n (1 ≤ n ≤ 17) - the number of different colors. The second line of the input file contains the number m (1 ≤ m ≤ 200000) - the number of different sets of ice chips. The next m lines describe the sets themselves. The set with number i is represented by a string of the first n lowercase Latin letters. The length of each string is no more than 17 characters.
Output
In the first line of the output file, print k - the number of sets in your answer. In the second line of the output file, print k numbers - the indices of the sets included in your answer, in any order.