만드는 중입니다

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

조커 찾기

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

요약
27장의 카드를 N번 섞는 규칙이 주어질 때, 처음 맨 위에 있던 조커가 모든 섞기가 끝난 뒤 몇 번째 위치에 있는지 구합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

중앙대학교에 다니는 수현이는 머신러닝을 공부하다가 심심해져서 트럼프 카드를 가지고 놀고 있다. 유튜브에서 타짜 기술을 쓰는 영상을 보고 따라 해 보고 싶어진 수현이는 카드 덱의 맨 위에 조커를 올려두고 카드를 섞어서 조커를 원하는 위치로 보내려고 한다.

카드는 일반 카드 26장과 조커 1장, 총 27장을 사용한다. 맨 위쪽 카드를 1번, 맨 아래쪽 카드를 27번이라고 하자.

처음 상태에서 조커는 1번 위치에 있다.

카드 섞기를 NN번 진행한다. ii번째로 카드를 섞는 방법을 AiA_i라고 하면, ii번째 새로운 덱은 다음 순서로 만들어진다.

  1. i−1i-1번째 덱의 위에서부터 순서를 유지한 채로 13장을 왼쪽 덱으로, 나머지 14장을 오른쪽 덱으로 가져간다.
  2. 오른쪽 덱의 맨 위에서 Ai1A_{i1}장을 가져와 새로운 덱의 맨 위에 놓는다.
  3. 왼쪽 덱의 맨 위에서 Ai2A_{i2}장을 가져와 그 아래에 놓는다.
  4. 남은 오른쪽 덱의 맨 위에서 Ai3A_{i3}장을 가져와 3번에서 만든 덱 아래에 놓는다.
  5. 3번과 4번처럼 AijA_{ij}장씩 번갈아 가져와 새로운 덱 아래에 놓는다. 단, j가 홀수인 AijA_{ij}의 합은 14이고, j가 짝수인 AijA_{ij}의 합은 13이다. 즉, AiA_i의 합은 27이다.

카드 섞기 횟수와 섞을 때마다 카드를 어떻게 섞는지 주어질 때, 카드 섞기를 마친 뒤 조커가 위에서 몇 번째 카드인지 알려주자.

입력

첫 번째 줄에 카드를 섞는 횟수 NN이 주어진다. (1≤N≤1061 \le N \le 10^6) 두 번째 줄부터 N+1N+1번째 줄까지 각 줄에 ii번째 섞기에 쓰는 수열 AiA_i가 주어진다. (1≤i≤N1 \le i \le N, 1≤Aij1 \le A_{ij}) 입력되는 모든 정수의 개수는 107+110^7 + 1개 이하이다.

출력

카드 섞기를 마쳤을 때 조커가 덱의 맨 위에서 몇 번째에 있는지 출력한다.

힌트

이 문제는 입력이 매우 많아서 입력 단계에서 시간 초과가 날 수 있다. 주요 언어별 빠른 입력 방법은 다음과 같다.

  • C++: cin.tie(NULL);, cin.sync_with_stdio(false);
  • Java: BufferedReader, Integer.parseInt
  • Python: sys.stdin.readline()

예제2

  1. 예제 1

    입력
    1
    13 13 1
    
    예상 출력
    14
    
  2. 예제 2

    입력
    2
    13 13 1
    1 1 5 6 8 6
    
    예상 출력
    1