Задачі
Унікальні суфікси
Унікальні суфікси
У Вас є спочатку порожній рядок \textbf{s}. Далі поступає \textbf{q} запитів. Запити бувають двох типів:
\begin{enumerate}
\item Запит на додавання символу у кінець рядка \textbf{s}. Формат запиту має вид "\textbf{+ c}", де c --- символ, який потрібно дописати у кінець рядка \textbf{s}.
\item Запит на перевірку унікальності суфікса рядка \textbf{s}. Формат запиту має вид "\textbf{? l}", де \textbf{l} --- довжина суфіксу поточного рядка \textbf{s}, який потібно перевірити на унікальність. Суфікс вважається унікальним, якщо він зустрічається у рядку \textbf{s} у якості підрядка рівно один раз (починаючи з позиції \textbf{|s|-l+1}, якщо рахувати символи рядка один-індекрованими).
\end{enumerate}
Ваша задача --- після кожного запиту другого типу, вивести "\textbf{+}", якщо заданий суфікс унікальний, або вивести "\textbf{-}">> у протилежному випадку.
\InputFile
У першому рядку записано єдине ціле число \textbf{q} (\textbf{1} ≤ \textbf{q} ≤ \textbf{2·10^6}) --- кількість запитів.
У наступних \textbf{q} рядках записано запити у форматі, описаному в умові задачі. Гарантується, що усі запити коректні. Гарантується, що перший запит має перши тип. Гарантується, що символ \textbf{c} у кожному запиті першого типу є одним з символів "\textbf{a}", "\textbf{b}", "\textbf{c}", "\textbf{d}", "\textbf{e}". Гарантується, що число \textbf{l} в усіх запитах другого типу додатне і не більше поточної довжинт рядка \textbf{s}.
\OutputFile
Виведіть \textbf{q} рядків --- відповіді на запити другого типу. Відповіді на запити виводьте у порядку появи запитів у вхідних даних.
Вхідні дані #1
13 + a ? 1 + a ? 1 ? 2 + a ? 1 ? 2 ? 3 + b ? 3 ? 1 ? 2
Вихідні дані #1
+ - + - - + + + +