투표용지 분석기

아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

플랫랜드 선거관리위원회가 대통령 선거를 준비한다. 개표 과정에서 사람이 저지르는 실수를 줄이려고 자동 투표용지 분석기를 개발했다.

후보는 nn명이다. 투표용지에는 후보마다 네모 칸이 하나씩 있고, 투표자는 정확히 한 칸에만 표시해야 한다. 표시한 칸이 없거나 두 칸 이상이면 그 용지는 무효다. 투표자가 용지를 분석기의 스캐너에 넣으면 스캐너가 표시를 읽어 길이 nn인 투표 문자열을 만든다. 표시한 칸은 X, 표시하지 않은 칸은 .이다.

모든 투표용지의 투표 문자열이 주어질 때 개표 보고서를 출력하는 프로그램을 작성하시오. 후보는 득표수가 많은 순서로 나열한다. 득표수가 같은 후보끼리는 투표용지에 적힌 순서를 그대로 따른다. 전체 용지 mm장 중 pp표를 얻은 후보의 득표율은 100p/m100p/m 퍼센트다. 보고서의 마지막 줄에는 무효표의 비율을 적는다.

입력

첫째 줄에 후보의 수 nn과 투표용지의 수 mm이 주어진다. (2n102 \le n \le 10, 1m10001 \le m \le 1000)

다음 nn개 줄에는 후보의 성이 한 줄에 하나씩 주어진다. 각 성은 길이가 100 이하인 영문자 문자열이다. 성이 Invalid인 후보는 없다.

그다음 mm개 줄에는 투표 문자열이 한 줄에 하나씩 주어진다. 각 문자열은 X 또는 . 문자 nn개로 이루어진다.

출력

n+1n+1개 줄을 출력한다. 앞의 nn개 줄에는 득표수가 많은 순서대로 후보의 성, 공백, 득표율, 퍼센트 기호 %를 차례로 출력한다. 마지막 줄에는 단어 Invalid, 공백, 무효표의 비율, 퍼센트 기호를 차례로 출력한다.

모든 수는 소수점 아래 둘째 자리까지 반올림한다. 값이 두 수의 정확히 가운데에 놓이면 더 큰 쪽을 출력한다. 예를 들어 12.345는 12.35로 출력한다.