아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Подстрока

시간 제한2초메모리 제한512 MB

요약
각 질의 (l, r, t)마다 문자열 t가 s[l..r] 구간 안에 부분 문자열로 등장하는지 판정해 + 또는 -를 출력한다.
난이도

보통10점 중 7점

유형
문자열, 문자열 매칭, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

Недавно разведка перехватила зашифрованное сообщение --- строку ss. Все ресурсы аналитического центра, в котором вы работаете, были брошены на его декодирование.

Ваш отдел занимается шифрами нового поколения. На данный момент известно всего nn таких шифров. Для каждого из них есть три характерных параметра --- целые числа ll, rr и строка tt.  Пусть строка gg была получена в результате применения этого метода. Тогда строка g_lg_l+1…g_r−1g_rg\_lg\_{l+1} \ldots g\_{r-1}g\_r (здесь g_ig\_i --- это ii-й символ строки gg) содержит tt как подстроку.

Вам поручено определить для каждого типа шифрования, могло ли сообщение ss быть получено в результате его применения.

입력

Первая строка входного файла содержит строку ss  (1≤∣s∣≤100,0001 \le |s| \le 100\\,000, где ∣s∣|s| --- длина строки ss). 

Вторая строка входного файла содержит целое число nn --- количество типов шифрования (1≤n≤100,0001 \le n \le 100\\,000). Последующие nn строк содержат по два целых числа l_il\_i, r_ir\_i и строку t_it\_i, разделенные пробелами --- характерные параметры ii-го метода шифрования (1≤l_i≤r_i≤∣s∣1 \le l\_i \le r\_i \le |s|).

Все строки состоят из строчных букв латинского алфавита. Суммарная длина всех t_it\_i не превосходит 100,000100\\,000.

출력

Выведите одну строку --- для каждого типа шифрования <<+>>, если сообщение ss могло быть получено в результате его применения, или <<->> в противном случае.

예제1

  1. 예제 1

    입력
    frommarsiam
    3
    6 10 i
    2 11 am
    1 9 human
    
    예상 출력
    ++-