ABC

시간 제한8초메모리 제한1024 MB

요약
모든 접두사 A_i와 B_j의 연결에서 C의 접두사이기도 한 최장 접미사의 길이를 모두 더한다.
난이도

어려움10점 중 8점

유형
문자열 매칭, 누적 합, 문자열, 트라이
정답자
아직 제출이 없습니다

문제

문자열 UU에 대해 U_kU\_k을 UU의 길이가 kk인 접두사, U_−kU\_{-k} 을 UU의 길이가 kk인 접미사로 정의하자. 예를 들어 UU=cuthere 일 경우, U_3U\_3=cut, U_−4U\_{-4}=here 이다.

두 문자열 S,TS, T 에 대해서, PrefixSuffix(S,T)\text{PrefixSuffix}(S, T) 를 S_−k=T_kS\_{-k}=T\_k인 가장 큰 정수 kk로 정의하자. PrefixSuffix(S,T)\text{PrefixSuffix}(S, T) 함수는 항상 0 이상이며, SS의 길이와 TT의 길이 이하임을 알 수 있다.

마지막으로, 두 문자열 U,VU, V 에 대해서, U+VU+V를 UU와 VV를 순서대로 붙인 것으로 정의하자. 예를 들어 UU=baek, VV=joon 일 경우, U+VU+V=baekjoon 이다.

길이 nn의 문자열 AA, 길이 mm의 문자열 BB, 문자열 CC가 주어질 때, 다음 값을 계산하여라:

∑_i=1n∑_j=1mPrefixSuffix(A_i+B_j,C)\sum\_{i = 1}^{n}\sum\_{j=1}^{m} \text{PrefixSuffix}(A\_i+B\_j, C)

입력

파일의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 TT 가 주어지고,

이후 차례로 TT 개의 테스트 케이스가 주어진다. (1≤T≤751 \le T \le 75)

각 테스트 케이스의 첫 줄에는 문자열 A가 주어진다.

그 다음 줄에는 문자열 B가 주어진다.

그 다음 줄에는 문자열 C가 주어진다.

모든 문자열은 알파벳 소문자로만 이루어져 있으며, 그 길이가 11 이상 250,000250\\,000 이하이다.

전체 테스트 케이스에 대해서 모든 문자열의 길이 합은 21,000,00021\\,000\\,000 을 넘지 않는다.

출력

각 테스트 케이스마다 첫 줄에는 Case #CC 를 출력하여야 한다. 이때 CC는 테스트 케이스의 번호이다.

다음 줄에는 문제의 정답을 출력한다.

예제1

  1. 예제 1

    입력
    3
    change
    chance
    chandelier
    mimimimimi
    ssissippi
    mississippi
    z
    banana
    anana
    
    예상 출력
    Case #1
    66
    Case #2
    315
    Case #3
    15