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

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

현금 인출기

면접 대비

시간 제한3초메모리 제한128 MB

요약
기록된 모든 손가락 이동 열에서 네 자리 PIN이 부분열로 나타나는 경우의 수를 센다.
난이도

보통10점 중 5점

유형
문자열, 동적 계획법, 완전 탐색
정답자
아직 제출이 없습니다

문제

은행 고객은 카드와 4자리 PIN 번호로 현금 인출기에서 돈을 찾는다. 카메라 영상을 가로채는 도둑으로부터 고객을 보호하기 위해, 고객은 PIN을 입력할 때 손가락을 키패드 위에서 불필요하게 여러 번 움직인다. 카메라는 실제로 어떤 키를 눌렀는지는 알아내지 못하고, 손가락이 지나간 키의 순서만 기록한다. 그래서 대개 PIN을 하나로 확정할 수 없다.

예를 들어 고객이 손가락을 키 1 위로, 이어서 키 5 위로 움직였다면 다음 PIN 중 어느 것이든 입력했을 수 있다: 1111, 1115, 1155, 1555, 5555. 즉, 어떤 PIN이 기록된 움직임과 일치한다는 것은 그 네 자리를 기록된 키 순서에서 순서대로 읽어낼 수 있다는 뜻이다. 각 입력은 손가락이 지나간 키 중 하나 위에서 이루어지고, 입력 순서는 손가락이 움직인 방향을 따른다(손가락이 한 키 위에 머무는 동안 그 키를 여러 번 연달아 누를 수도 있다).

같은 고객이 같은 PIN을 입력하면서 만든 손가락 움직임을 여러 번 기록했다. 기록된 모든 움직임과 일치하는 서로 다른 4자리 PIN이 몇 개인지, 즉 기록된 모든 움직임 순서를 만들어 낼 수 있는 4자리 코드가 몇 개인지 구하여라.

입력

첫째 줄에 정수 nn이 주어진다. 고객이 PIN을 입력하는 장면을 기록한 횟수이다 (1≤n≤10001 \le n \le 1000).

다음 nn개의 줄에는 각 장면이 한 줄에 하나씩 주어진다. 각 줄에는 공백으로 구분된 두 값이 있다: 움직임 순서의 길이인 정수 tt (1≤t≤100001 \le t \le 10000)와, 손가락이 지나간 키를 순서대로 나열한 tt자리 숫자이다.

모든 순서의 길이의 합은 1 000 0001\,000\,000을 넘지 않는다.

출력

기록된 모든 움직임 순서와 일치하는 4자리 PIN 코드의 개수를 정수 하나로 출력한다.

예제2

  1. 예제 1

    입력
    2
    3 123
    3 234
    
    예상 출력
    5
    
  2. 예제 2

    입력
    1
    2 15
    
    예상 출력
    5