Dialling Digits

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

요약
각 숫자열에 대해 T9 키패드 대응이 일치하는 단어의 수를 세고 알파벳 순으로 나열한다.
난이도

쉬움10점 중 3점

유형
해시맵, 문자열, 구현
정답자
아직 제출이 없습니다

문제

Disaster struck at the Billboards And Phone-numbers Company! % Deliberately using hyphen in Phone-numbers for the backronym Due to a bug in their database system, they lost the corresponding mnemonic phrases for each of the registered phone numbers. These mnemonic phrases are typically used on billboards, to make a phone number for an advertisement easier to remember by people who read them. To dial the phone number from a mnemonic phrase, you simply have to press the number keys corresponding to each letter, as shown in Figure D.1. For example, the phone number "1-800-BAPC" would be dialled as "1-800-2272".

Using this information and a given list of valid words, reconstruct the possible mnemonic phrases for each registered phone number. Each mnemonic phrase consists of exactly one word from the word list. In the input, you will only receive the part of the phone number that should be exactly linked to possible mnemonic phrases, so it does not include the "1-800-" prefix (or any other prefix).

Figure D.1: The keypad of a telephone, where some numbers are assigned several letters.

Public Domain by Sakurambo on Wikimedia Commons, modified

입력

The input consists of:

  • One line with two integers nn and mm (1≤n,m≤1051 \leq n, m \leq 10^5, n⋅m≤105n \cdot m \leq 10^5), the number of words and the number of phone numbers.
  • nn lines, each with a word ww (1≤∣w∣≤101 \leq |w| \leq 10), consisting only of English lowercase letters (a-z). The words are unique and given in alphabetical order.
  • mm lines, each with a phone number pp (1≤∣p∣≤101 \leq |p| \leq 10), consisting only of digits that correspond to letters in a mnemonic phrase (2-9).

출력

For each phone number, output the number of words that are a valid mnemonic phrase for this phone number, followed by these words in alphabetical order.

예제4

  1. 예제 1

    입력
    5 3
    algorithm
    bapc
    benelux
    contest
    progaming
    2272
    424242
    2363589
    
    예상 출력
    1 bapc
    0
    1 benelux
    
  2. 예제 2

    입력
    3 1
    peer
    reds
    refs
    7337
    
    예상 출력
    3 peer reds refs
    
  3. 예제 3

    입력
    7 3
    black
    judge
    my
    of
    quartz
    sphinx
    vow
    25225
    782789
    774466
    
    예상 출력
    1 black
    1 quartz
    0
    
  4. 예제 4

    입력
    5 1
    and
    bland
    e
    land
    of
    63
    
    예상 출력
    1 of