Квадрат чи прямокутник
ліміт часу на тест
0.25 seconds
ліміт використання пам'яті на тест
256 megabytes
введення
standard input
виведення
standard output

Еолімп пропонує вам зіграти з тестувальною системою в цікаву інтерактивну гру «Квадрат чи прямокутник».

В Еолімпа є квадратна дошка розміром $$$100 \times 100$$$ клітинок. Рядки дошки пронумеровані цілими числами від $$$1$$$ до $$$100$$$ зверху донизу, а стовпчики — цілими числами від $$$1$$$ до $$$100$$$ зліва направо. Відповідно, клітинка, яка знаходиться у лівому верхньому куті дошки, має координати $$$(1,\,1)$$$; клітинка, яка знаходиться у правому нижньому куті, має координати $$$(100,\,100)$$$; а клітинка, яка знаходиться на перетині $$$i$$$-го рядка та $$$j$$$-го стовпчика, має координати $$$(i,\,j)$$$.

Еолімп зафарбовує прямокутну ділянку дошки, верхній лівий кут якої має координати $$$(x_1,\,y_1)$$$, а правий нижній — $$$(x_2,\,y_2)$$$. Ці координати Еолімп тримає в таємниці. Але відомо, що площа зафарбованої ділянки займає не менш ніж 4% від площі всієї дошки.

Про будь-яку клітинку ви можете спитати в Еолімпа (чи належить вона зафарбованій ділянці) та отримати чесну відповідь від тестувальної системи. Вам треба з'ясувати, чи є зафарбована ділянка квадратом.

Прямокутник та квадрат

Протокол взаємодії

Щоб дізнатися, чи належить клітинка зафарбованій ділянці, треба це спитати у Еолімпа. Для цього потрібно одному рядку вивести символ «?» та два цілі числа $$$x$$$ та $$$y$$$ $$$(1 \le x \le 100, \; 1 \le y \le 100)$$$ — координати точки, яку ви хочете запитати. Після цього вам потрібно вивести символ нового рядка та виконати операцію flush. Після цього потрібно зчитати рядок. Еолімп виведе або «inside», якщо клітинка зафарбована, або «outside» інакше.

- fflush(stdout) або cout.flush() в C++;

- System.out.flush() в Java;

- flush(output) в Pascal;

- stdout.flush() в Python;

- для всіх інших мов вам потрібно дивитися документацію самостійно.

Ви можете поставити не більше $$$10\,000$$$ питань.

Коли ви будете знати відповідь, вам потрібно вивести символ «!», пробіл, та один з двох варіантів: або «square» (якщо зафарбована Еолімпом фігура — квадрат), або «rectangle» (якщо фігура — прямокутник).

Якщо ви не будете дотримувалися формату взаємодії, то ви можете отримати будь-який вердикт: Неправильна відповідь, Помилка виконання, Перевищено обмеження часу, тощо.

Система оцінки

Ваша програма зіграє з Еолімпом у цю гру велику кількість разів. Нехай $$$q$$$ — максимальна кількість питань, які ви поставили у всіх іграх. Тоді ви отримаєте таку кількість балів:

1. Якщо у будь-якій грі ви поставили більше $$$10\,000$$$ питань, вивели неправильну відповідь або не дотримувалися формату взаємодії, ви отримаєте $$$0$$$ балів.
2. Якщо $$$1\,000 < q \leq 10\,000$$$, ви отримаєте $$$5$$$ балів.
3. Якщо $$$100 < q \leq 1\,000$$$, ви отримаєте $$$19$$$ балів.
4. Якщо $$$50 < q \leq 100$$$, ви отримаєте $$$20 + \lfloor\frac{(100 - q) \cdot 30}{50}\rfloor$$$ балів.
5. Якщо $$$33 < q \leq 50$$$, ви отримаєте $$$50 + \lfloor\frac{(50 - q) \cdot 50}{17}\rfloor$$$ балів.
6. Якщо $$$q \leq 33$$$, ви отримаєте $$$100$$$ балів.

Приклад

Вхідні дані

    inside
    inside
    outside
    inside
    outside
    outside
    inside
    outside
    outside

Вихідні дані

    ? 50 50
    ? 75 75
    ? 10 10
    ? 20 20
    ? 19 20
    ? 20 19
    ? 80 80
    ? 81 80
    ? 80 81
    ! square

Пояснення

У прикладі Еолімп зафарбував ділянку, у якої верхній лівий кут — (20, 20), а правий нижній — (80, 80).

В умові наведений приклад того, як можна взаємодіяти з Еолімпом. Ваші запити до Еолімпа можуть бути іншими.