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

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

가희와 지하철역 저장 시스템 1

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

요약
역별 특징 집합을 업데이트하면서 주어진 특징을 모두 가진 역의 수를 구한다.
난이도

보통10점 중 6점

유형
해시맵, 비트 연산
정답자
아직 제출이 없습니다

문제

가희는 n개의 지하철역 정보를 보기 위한 시스템을 만들었습니다. 이 시스템은 정말 단순하게 동작합니다.

  • 유저가 역 station의 특징을 한 번도 업데이트하지 않은 경우, 역 station의 특징은 없습니다.
  • 각 역은 유저들이 업데이트한 특징이 있습니다. 예를 들어, deepstation, longescalator, dungeon과 같은 것들입니다.
  • deepstation, longescalator, dungeon과 같은 특징을 입력했을 때 조건에 맞는 역들이 나타나게 됩니다.

그런데 사용하는 유저가 많아질수록 가희가 만들어 놓은 시스템이 느려지기 시작했습니다. 가희를 도와주세요.

입력

첫 번째 줄에 n이 주어집니다.

다음 n개의 줄에 역 이름이 한 줄에 하나씩 주어집니다.

다음 줄에 요청의 개수 r이 주어집니다.

다음 r개의 줄에 요청이 다음 형식 중 하나로 주어집니다.

  • U station features
    • 역 station의 특징을 features로 업데이트합니다.
  • G features
    • features의 특징을 모두 가진 역의 개수를 출력합니다.

이때 features는 특징이 여러 개인 경우 콤마(,)로 구분되어 주어집니다. 또한 중복된 특징은 주어지지 않습니다.

station은 주어진 n개의 지하철역 이름 중 하나입니다..

예를 들어, soongsiluniv역의 특징을 line7과 deep으로 업데이트 하려는 경우 요청은 아래와 같이 주어집니다.

U soongsiluniv line7,deep

또한 특징 beautiful과 dungeon이라는 특징을 가지는 역의 개수를 구하라는 요청은 아래와 같이 주어집니다.

G beautiful,dungeon

출력

조건을 만족하는 역의 개수를 구하라는 요청이 들어올 때마다 한 줄에 하나씩 답을 출력해 주세요.

제한

  • 1 ≤ n ≤ 5×105
  • 1 ≤ r ≤ 105
  • 주어지는 역명의 길이는 1 이상 10 이하이며, 역명은 중복되지 않습니다. 역명은 알파벳 대소문자와 숫자로만 이루어져 있습니다.
  • 요청에 주어지는 features의 길이 총합은 2×106을 넘어가지 않습니다. 이때, 구분자 ,는 길이 총합에서 제외됩니다.
  • 전체 U 요청에 나타난 모든 특징의 종류는 1개 이상 9개 이하입니다.
  • 특징은 알파벳 대소문자와 숫자로만 이루어져 있으며, 길이는 1 이상 10 이하입니다.
  • G 요청은 하나 이상 주어집니다.

힌트

2개의 U 요청이 아래와 같았다고 해 보겠습니다.

  • U a,b,c,d,e,f,g
  • U h,i,j,k

이러한 요청은 들어오지 않습니다. 전체 U 업데이트에 사용된 모든 특징의 종류가 a,b,c,d,e,f,g,h,i,j,k로 11개이기 때문입니다.

또한, G 요청은 U 요청에 나오지 않은 특징이 나올 수 있습니다. [예제 2]는 이를 보여줍니다.

예제7

  1. 예제 1

    입력
    3
    Daredemo
    Daisuki
    original
    4
    U Daredemo kami
    U original ittkii,kami
    G kami,ittkii
    G kami
    
    예상 출력
    1
    2
    
  2. 예제 2

    입력
    4
    sadang
    sindorim
    jamsil
    sillim
    6
    U jamsil hell
    U sindorim hell
    G hell
    U sindorim veryhell
    G hell
    G hell,line3
    
    예상 출력
    2
    1
    0
    
  3. 예제 3

    입력
    3
    sindae
    rella
    NEWYOrK
    2
    G sosen,kyo
    G sale
    
    예상 출력
    0
    0
    
  4. 예제 4

    입력
    5
    sosen
    kyomo
    akihabara
    kyoto
    tanoshides
    8
    U sosen 200kai,renzoku
    U kyomo ranking,increase
    U tanoshides kore,wa,creazyyy,increase
    G increase
    U kyoto ranking,creazyyy
    G Is,kyoto,near,from,tokyo
    U akihabara creazyyy,ranking
    G creazyyy,ranking
    
    예상 출력
    2
    0
    2
    
  5. 예제 5

    입력
    4
    Shippo
    saransaran
    shimai
    shinagara
    8
    U saransaran watashi,wa
    U shimai unni,juin
    G juin
    U shinagara oppa,juin,manae
    U Shippo oppa,manae
    G manae,oppa
    U shinagara unnee
    G oppa,manae
    
    예상 출력
    1
    2
    1
    
  6. 예제 6

    입력
    5
    Hello
    bye
    wrong
    time
    nosee
    5
    U Hello What,are,you,doing,today
    G doing,What
    U nosee today,Noway,venus,bye
    G today
    G today,doing
    
    예상 출력
    1
    2
    1
    
  7. 예제 7

    입력
    4
    Its
    my
    trap
    card
    5
    U trap gahui,ga
    U trap hori
    U card ssgt
    U trap saea,trap
    G trap
    
    예상 출력
    1