문자열 S에서 F(i)를 S의 접미사이자 S의 i번째 문자까지의 접두사인 가장 긴 문자열의 길이로 정의하고, M개의 질의에 답한다.
길이가 NNN인 문자열 S=S1S2⋯SNS = S_1 S_2 \cdots S_NS=S1S2⋯SN이 주어진다. 함수 F(i)F(i)F(i)는 SSS와 접두사 S1S2⋯SiS_1 S_2 \cdots S_iS1S2⋯Si의 가장 긴 공통 접미사의 길이다.
예를 들어 SSS가 zaaxbaacbaa이면 F(1)=0F(1) = 0F(1)=0, F(2)=1F(2) = 1F(2)=1, F(3)=2F(3) = 2F(3)=2이다.
문자열 SSS와 쿼리 MMM개가 주어졌을 때, 각 쿼리 iii에 대해 F(i)F(i)F(i)를 구하는 프로그램을 작성한다.
첫째 줄에 문자열 SSS가 공백 없이 한 줄로 주어진다. SSS의 길이 NNN은 1≤N≤1061 \le N \le 10^61≤N≤106이다.
둘째 줄에 쿼리의 개수 MMM이 주어진다. (1≤M≤1051 \le M \le 10^51≤M≤105)
셋째 줄부터 MMM개의 줄에 각 쿼리의 정수 iii가 한 줄에 하나씩 주어진다. (1≤i≤N1 \le i \le N1≤i≤N)
각 쿼리 iii에 대해 F(i)F(i)F(i)를 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.