Зомбі загнали вас і вашу команду в кут. Надії нема…
Але зачекайте! Раптом вони зупиняються й пропонують угоду. Як з'ясувалося, зомбі мають проблеми з пошуком смачних мізків — а смачні для них, це розумні мізки (для зомбі немає нічого огиднішого, ніж мізки випускника зі спеціальності комунікацій). Хоча ваші мізки й були б для них вельми апетитними, зомбі розуміють, що набагато корисніше буде, якщо ви допоможете їм знайти інші розумні мізки. Отже, ось умова: допоможіть зомбі вирішити, чи є даний мозок розумним (а значить — і смачним), і вони відпустять вашу команду — принаймні, наразі.
Будучи командою з великими мізками, ви швидко розумієте, що мозок вважають розумним, якщо він здатен правильно відповісти на заданий булевий вираз. Ви створюєте список булевих виразів і починаєте перевіряти кожен на окремому мозку.
Кожний булевий вираз визначено рекурсивно таким чином:
вираз '(' (значення чи вираз) операція (значення чи вираз) ')'
значення 't' або 'f'
операція '' або '|'
Будь-яке значення чи вираз можна опціонально записати з '!'.
У виразах використовуються лише такі символи:
'' — це І. істинно, якщо обидва значення істинні; інакше — хибно.
'|' — це АБО. хибно, якщо обидва значення хибні; інакше — істинно.
'!' — це НЕ. хибно, якщо істинне; інакше — істинно.
'(' і ')' — це дужки, які визначають пріоритет. Всі вирази у дужках обчислюються першочергово. Для кожної відкривної дужки '(' існує відповідна закривна ')'.
't' та 'f' позначають істину й хибність відповідно.
У першому рядку дано ціле число , 0 < x \leq 10000. Далі йдуть рядків, у кожному — булевий вираз (не більше 50 символів), пробіл, знак рівності '=', ще пробіл і відповідь тестованого мозку ('t' або 'f').
Для кожного тестованого мозку в окремому рядку виведіть:
номер мозку: Good brain або номер мозку: Bad brain
Виведіть Good brain, якщо відповідь правильна, інакше — Bad brain.
Щойно закінчите — раджу якнайшвидше тікати, зомбі дадуть вам лише невелику фору за допомогу.
Приклад 1