숫자열 조각 세기
시간 제한1초메모리 제한128 MB
10^18 이하의 서로 겹치지 않는 정수 구간들의 합집합에 속한 모든 수의 십진 표현에서 각 숫자열이 연속 부분 문자열로 몇 번 나타나는지 센다.
문제
양의 정수들의 집합 가 닫힌 구간들의 합집합으로 주어진다. 숫자로 이루어진 문자열 에 대해, 가 집합 에 속한 수들의 십진 표기 안에서 조각(연속된 부분 문자열)으로 몇 번 나타나는지 구하라. 하나의 수 안에서 가 여러 번 나타나면 각 등장을 모두 센다. 등장 위치는 서로 겹칠 수 있다.
입력
첫째 줄에 두 정수 과 이 주어진다 (, ). 은 집합 를 이루는 구간의 개수, 은 질의의 개수이다.
다음 개의 줄에는 각각 두 정수 와 가 주어지며, 을 만족한다. 이 값들은 집합 을 나타내며, 각 구간은 양 끝을 포함한다.
이어지는 개의 줄에는 각각 하나의 질의가 주어진다. 질의는 길이가 이상 이하인 숫자 문자열 이며, 각 자리는 부터 까지의 숫자이다. 질의 문자열은 숫자 으로 시작할 수 있다.
출력
개의 줄을 출력한다. 번째 줄에는 정수 하나를 출력하는데, 이는 집합 에 속한 모든 수 안에서 가 조각으로 나타나는 총 횟수이다. 한 수 안에서 반복되거나 겹쳐서 나타나는 경우도 각각 따로 센다.