만드는 중입니다

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

로또 WINNER

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

요약
각 복권의 12진수 당첨 번호에서 최소 한 자리를 맞힐 수 있도록 배워야 하는 영숫자 문자의 최소 개수를 구합니다.
난이도

보통10점 중 6점

유형
완전 탐색, 비트 연산, 문자열
정답자
아직 제출이 없습니다

문제

WINNER는 NUP의 새 회계사 일에서 Z-함수를 500번째 구현하는 데 지쳐서, 빨리 이 일을 그만둘 방법을 찾고 있다. 그는 넓은 인맥을 통해 Paphos에 있는 nn개 복권의 당첨 번호를 모두 구했다. 당첨 번호는 1212진법으로 쓰여 있으며, 앞자리에 00이 붙어 있을 수 있다.

그러나 복권마다 1010과 1111을 나타내는 방식이 통일되어 있지 않다. 각 복권은 이 두 값을 나타내기 위해 대문자 알파벳 두 글자를 각자 고른다. WINNER는 이 정보를 알고 있지만, 정확한 당첨 규칙은 아직 모른다. 그는 상품을 받으려면 복권마다 당첨 번호의 자릿수 중 하나만 맞히면 된다고 생각한다.

WINNER는 펜과 종이로 글 쓰는 법을 잊어버렸다. 그래서 모든 복권에서 당첨되었다고 믿으려면 배워야 하는 서로 다른 영숫자의 최소 개수를 구하는 데 도움이 필요하다.

입력

첫 줄에 복권의 개수를 나타내는 정수 nn (1≤n≤2.5⋅1051 \leq n \leq 2.5 \cdot 10^5)이 주어진다.

이어지는 nn개의 줄에는 각각 1212진법으로 쓴 당첨 번호가 주어진다. 각 줄에는 1010을 뜻하는 대문자 알파벳 하나와 1111을 뜻하는 다른 대문자 알파벳 하나가 포함될 수 있다. 각 줄은 숫자와 이 두 알파벳만으로 이루어진다.

모든 수의 길이 합은 최대 4⋅1064 \cdot 10^6이다.

출력

모든 복권에서 당첨되었다고 믿기 위해 WINNER가 배워야 하는 서로 다른 영숫자의 최소 개수 kk를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    4
    EEXEE
    X221
    DEE
    2555539BD
    
    예상 출력
    2