Щорічний конкурс програмування XYZX славиться своїми незвичними умовами задач. Технічний координатор конкурсу, також відомий як Снусмумрик, навмисно залишає певну свободу в умові задач, щоб учасники мали здогадуватись про відсутні умови з прикладів, з преамбули задачі чи навіть з епіграфа, або ж просто вигадувати їх самі. Ця особливість проявилася і на останньому конкурсі XYZX-2009.
Міша бере участь у чвертьфіналі Ріверграда і знову стикається з тією самою проблемою: чому його абсолютно правильна програма не проходить тести з прикладів? Умови задач англійською мовою. Він також знає, що в усій умові міститься лише одне неправдиве речення. До того ж, йому відомі правила відновлення оригінальної умови, яку мав на увазі автор. Вони дуже прості: слово "not" можна вставити після будь-якого з таких слів, як "can", "may", "must", "should"; а також слово "no" можна вставити після фраз "is", "are". Слова "not" і "no" мають вставлятись саме так, як написано: "Not", "nO" та інші варіанти не дозволяються. Водночас інші згадані слова нечутливі до регістру, тобто можна вставити "not" після "Can" або "no" після "ARE". Якщо після "is" чи "are", куди ви вставляєте "no", стоїть артикль ("a" або "the"), артикль необхідно прибрати.
Міша хоче дізнатись всі можливі причини, чому його програма не проходить тести з прикладів. Тут причиною вважається речення, у яке можна додати заперечення. Пам'ятайте, що не можна одночасно вставити кілька заперечень — ані в одному реченні, ані в різних реченнях.
Вхідний файл містить текст умови задачі, що складається з латинських літер, одинарних пробілів і крапок. Кожне речення закінчується крапкою (яка не вважається частиною останнього слова). Слова розділені одним пробілом. Перед жодною крапкою немає пробілу. Після кожної крапки, окрім останньої, точно один пробіл; після останньої речення стоїть крапка, після якої — символ нового рядка, і на цьому вхідний файл закінчується. Вставляючи слово "not" чи "no" після іншого слова, спочатку потрібно додати один пробіл, а потім відповідне слово. Розмір вхідного файлу не перевищує байти.
У вихідному файлі спочатку має бути виведено ціле число в окремому рядку — кількість різних способів трактувати умову задачі. Далі має йти рядків. Кожен рядок має містити одне речення з оригінального тексту з рівно одним запереченням. Ви маєте вивести всі можливості (у прикладі вивід рядків розбитий задля зручності перегляду; ви ж маєте виводити по одному реченню в рядок). Усі варіанти заперечень подавайте в природному порядку: всі, які можна вставити для першого речення, потім для другого і так далі. Усередині одного речення спочатку вкажіть заперечення після першого слова (якщо можливо), потім після другого і так далі.
Не змінюйте регістр літер у словах, скопійованих з початкових речень. Слова мають, як і раніше, розділятись одним пробілом, а правила щодо крапок наприкінці речень повинні залишатись такими ж, як у вхідних реченнях.
Приклад 1