만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

왕의 여정

시간 제한1초메모리 제한2048 MB

요약
사전에 있는 단어가 아다의 카드와 내 카드를 어느 순서로 이어 붙여도 만들어지면 두 카드를 짝 지어, 짝의 최대 개수를 구합니다.
난이도

보통10점 중 7점

유형
문자열 매칭, 그래프
정답자
아직 제출이 없습니다

문제

당신은 게임의 왕이 되기 직전까지 와 있습니다. 남은 일은 누사타라 왕의 화신인 Anda와 카드 게임에서 이기는 것입니다. Anda의 영혼은 당신 안에 또 다른 인격으로 깃들어 있습니다.

각 플레이어에게는 카드 덱이 있고, 각 카드에는 단어가 하나씩 적혀 있습니다. 각 덱 안에서는 같은 단어가 적힌 카드가 두 장 있을 수 없습니다. 또한 서로 다른 DD개의 단어로 이루어진 사전 [W1,W2,…,WD][W_1, W_2, \dots, W_D]가 있습니다.

게임은 NN 턴으로 진행됩니다. ii번째 턴에 Anda는 단어 AiA_i가 적힌 카드를 냅니다. 그러면 당신은 남은 카드 중 하나로 이 카드와 매칭하거나, 이번 턴을 넘길 수 있습니다. 두 카드 aa와 bb는 a+ba + b 또는 b+ab + a가 사전에 있으면 매칭됩니다. 연산자 ++는 이어 붙이기를 뜻합니다. 예를 들어 AU와 RA를 이어 붙이면 AU ++ RA == AURA입니다. 한 번 매칭한 카드는 게임이 끝날 때까지 다시 쓸 수 없습니다.

당신의 덱에는 MM장의 카드가 있으며 1번부터 MM번까지 번호가 붙어 있습니다. jj번 카드에는 단어 BjB_j가 적혀 있습니다. Anda의 카드와 성공적으로 매칭한 턴 수를 최대화해야 합니다.

입력

첫 줄에 정수 DD가 주어집니다 (1≤D≤200 0001 \le D \le 200\,000).

다음 DD개의 줄에는 각각 문자열 WkW_k가 주어집니다. WkW_k는 영어 대문자로만 이루어집니다. 모든 WkW_k 길이의 합은 200 000200\,000을 넘지 않습니다. 1≤k<k′≤D1 \le k < k' \le D인 모든 k,k′k, k'에 대해 Wk≠Wk′W_k \ne W_{k'}이 보장됩니다.

다음 줄에는 정수 NN (1≤N≤100 0001 \le N \le 100\,000)이 주어집니다.

다음 NN개의 줄에는 각각 문자열 AiA_i가 주어집니다. AiA_i는 영어 대문자로만 이루어집니다. 모든 AiA_i 길이의 합은 100 000100\,000을 넘지 않습니다. 1≤i<i′≤N1 \le i < i' \le N인 모든 i,i′i, i'에 대해 Ai≠Ai′A_i \ne A_{i'}이 보장됩니다.

다음 줄에는 정수 MM (1≤M≤100 0001 \le M \le 100\,000)이 주어집니다.

다음 MM개의 줄에는 각각 문자열 BjB_j가 주어집니다. BjB_j는 영어 대문자로만 이루어집니다. 모든 BjB_j 길이의 합은 100 000100\,000을 넘지 않습니다. 1≤j<j′≤M1 \le j < j' \le M인 모든 j,j′j, j'에 대해 Bj≠Bj′B_j \ne B_{j'}이 보장됩니다.

출력

Anda의 카드와 성공적으로 매칭한 턴 수의 최댓값을 나타내는 정수 하나를 출력합니다.

예제4

  1. 예제 1

    입력
    3
    AURA
    AURORA
    LAURA
    3
    RA
    REO
    RORA
    2
    AU
    LAU
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    HARTA
    TAHTA
    HARU
    3
    HAR
    TAH
    HA
    3
    TA
    RU
    ARU
    
    예상 출력
    2
    
  3. 예제 3

    입력
    1
    AAA
    3
    A
    AA
    AAA
    2
    A
    AA
    
    예상 출력
    2
    
  4. 예제 4

    입력
    1
    INDONESIA
    1
    NATIONAL
    1
    CONTEST
    
    예상 출력
    0