Пожежники
Математик зберігав усі свої документи в картотеці біля свого столу. Одного дня в його офісі сталася пожежа, і більшість його робіт були сильно пошкоджені. На щастя, деякі з рівнянь, які він розв'язував протягом багатьох років своєї довгої кар'єри, були частково збережені. Кожне рівняння містило вираз з лівого боку і результат з правого. Збережені вирази складалися з усіх чисел і дужок, але, на жаль, деякі оператори між ними були втрачені у вогні. Ще однією проблемою було те, що результати рівнянь були розкидані, і математик не був упевнений, чи є певна відповідь результатом певного виразу. Ваше завдання - допомогти математику визначити, чи відповідають вирази та результати, які він зміг врятувати від пожежі, один одному.
Для цього вам надано вираз, що містить цілі числа від 1 до 999, прості математичні оператори (+, -, *, /), дужки та знаки питання (?), що представляють втрачені математичні оператори. Для кожного наданого виразу ваше єдине завдання - вказати, чи може вираз дати потрібний результат. Щоб допомогти вам, математик обрав лише вирази, що мають такі обмеження:
Вирази містять не більше 100 символів;
Дужки охоплюють не більше 1 оператора з його двома операндами. Однак кожен з цих операндів може бути виразом у дужках;
Константи у виразах не мають знака, тобто у виразах немає від'ємних чисел;
Максимальна кількість знаків питання у виразах (втрачених операторів) не перевищує 10.
Обчислення слід виконувати за такими правилами:
Оператори * та / мають вищий пріоритет, ніж оператори + та -. Дужки можуть змінювати пріоритети, як зазвичай;
Оператори +, -, * та / є лівоасоціативними, тобто вони групуються зліва направо. Якщо a, b і c є числами: a*b*c = (a*b)*c, a/b/c = (a/b)/c, a/b*c = (a/b)*c, a+b+c = (a+b)+c, a-b+c = (a-b)+c тощо.
При діленні двох цілих чисел слід ігнорувати десяткову частку, наприклад, розгляньте такі рівняння: 2/5=0, 9/5=1, 100/6=16.
Вхідні дані
Перша строка вхідного файлу містить ціле число N - визначає кількість рівнянь. Наступні 2*N рядків містять рівняння. Одне рівняння визначається двома рядками. Перший рядок - це вираз, що визначає ліву сторону рівняння; другий рядок - це цілий результат, що визначає праву сторону рівняння. Вхідні рядки не містять пробілів. Рядки, що представляють вирази, гарантовано не мають синтаксичних помилок.
Вихідні дані
Для кожного рівняння у вхідному файлі напишіть так або ні в окремих рядках на стандартний вихід. Якщо вираз може дати результат, напишіть так. В іншому випадку, якщо результат не може бути досягнутий, напишіть ні.