Трикутна Теселяція
Трикутне доміно — це ромбічна фігура, що складається з двох рівносторонніх трикутників.
Подібно, трикутне тріміно — це трапеція, утворена з трьох рівносторонніх трикутників.
Розгляньте зв'язану область на трикутній сітці, що складається з одиничних трикутників. Ваше завдання — визначити, чи можливо замостити цю область трикутними доміно та тріміно. Кожен трикутник повинен бути покритий рівно однією плиткою.
Вхідні дані
Перший рядок вхідного файлу містить n — кількість трикутників в області (1 ≤ n ≤ 500). Наступні n рядків містять координати трикутників. Координати присвоюються трикутникам, як показано на наступному малюнку. Координати не перевищують 500 за абсолютними значеннями.
Вихідні дані
Якщо замощення неможливе, виведіть "No solution" у першому рядку вихідного файлу. В іншому випадку, перший рядок вихідного файлу має містити k — кількість використаних плиток. Нехай плитки пронумеровані від 1 до k, другий рядок має містити n цілих чисел, для кожного трикутника даної області виведіть номер плитки, якою він покритий.