Вы можете сделать \textbf{не более} $1000$ запросов, включая вывод ответа.

Интерактор \textbf{не является} адаптивным, то есть число $p$ зафиксировано и \textbf{не меняется} с запросами.

Интерактор принимает запросы в следующем формате:
\begin{itemize}
\item \texttt{?} $a$ $d$ ($2 \le a \le 2 \cdot 10^6$, $0 \le d < a$)
\end{itemize}

После вывода запроса не забудьте вывести перевод строки и сбросить буфер вывода. В противном случае вы получите вердикт \texttt{Решение <<зависло>>}. Если вы пишете на \texttt{C++}, жюри советует не подключать ускорение ввода/вывода и использовать \texttt{std::endl} в качестве перевода строки.

Интерактор будет выдавать в ответ одно число:
\begin{itemize}
\item $0$, если число $p$ \textbf{не сравнимо} с $d$ по модулю $a$;
\item $1$, в противном случае.
\end{itemize}

Когда вы готовы назвать число $p$ ($3 \le p \le 10^6$), выведите его в формате:
\begin{itemize}
\item \texttt{!} $p$
\end{itemize}

После вывода секретного кода ваша программа должна немедленно завершиться, в противном случае жюри не гарантирует корректность вердикта.
