Підрядок
Нещодавно розвідка перехопила зашифроване повідомлення — рядок s. Усі ресурси аналітичного центру, в якому ви працюєте, були спрямовані на його декодування.
Ваш відділ спеціалізується на шифрах нового покоління. На даний момент відомо всього n таких шифрів. Для кожного з них є три характерні параметри — цілі числа l, r і рядок t. Нехай рядок g був отриманий в результаті застосування цього методу. Тоді підрядок g_lg_{l+1}...g_{r-1}g_r (де g_i — це i-й символ рядка g) містить t як підрядок.
Вам доручено визначити для кожного типу шифрування, чи могло повідомлення s бути отримане в результаті його застосування.
Вхідні дані
Перша строка вхідного файлу містить рядок s (1 ≤ |s| ≤ 100000, де |s| — довжина рядка s).
Друга строка вхідного файлу містить ціле число n — кількість типів шифрування (1 ≤ n ≤ 100000). Наступні n рядків містять по два цілі числа l_i, r_i і рядок t, розділені пробілами — характерні параметри i-го методу шифрування (1 ≤ l_i ≤ r_i ≤ |s|).
Усі рядки складаються з малих літер латинського алфавіту. Сумарна довжина всіх t_i не перевищує 100000.
Вихідні дані
Виведіть один рядок — для кожного типу шифрування "+", якщо повідомлення s могло бути отримане в результаті його застосування, або "-" в протилежному випадку.