Kyriakos Grizzly is organizing a G-Pop (Grizzly-Pop) concert for his friends! The concert consists of shows where each show has a G-pop band performing in it. Note that a certain band may perform multiple times over the period of the shows. Since Kyriakos' friends are very busy, the of his friends can only attend the concerts from to performance (inclusive). Also, his friends will get bored if they listen to the same band more than once. Kyriakos wants to design a concert plan in which none of his friends gets bored. Also, since his friends are extremely impatient, Kyriakos wants to design a plan with the minimum number of band changes. A band change occurs when two different bands perform in consecutive concerts. In addition, he is trying to save money so this plan should minimize the number of distinct bands playing. Help Kyriakos determine a concert plan!
Constraints
Input Specification
The first line of input will contain spaced out integers and . The next lines will each contain integers with the of these lines containing and .
Output Specification
The first line of output will contain a single integer , the minimum number of different bands Kyriakos has to hire to be in his concert.
The final line of output will contain spaced out integers each in the range , with the integer denoting the id of the band performing at the performance.
If there are multiple valid plans, you may output any of them.
Scoring
For each test case:
- If you correctly determine the optimal but you output an invalid plan, you will receive 20% of the available marks.
- If you correctly determine the optimal and you output a valid plan but you do not minimize the number of band changes you will receive another 30% of the marks.
- If you correctly determine the optimal and output a valid plan with the minimum number of band changes, you will receive the other 50% of the marks.
- If your output is malformed in any way, you will automatically receive 0% of the available marks.
Your final score is the minimum score over all test cases.
Note: A valid plan is one that uses an optimal number of different bands, and makes sure that none of Kyriakos' friends get bored. A valid plan may not have the optimal number of band changes.
Sample Input
5 3
1 4
2 4
3 5
Sample Output
4
1 2 3 4 2
Comments
The bands may perform any number of times, I'm told...