제3회 IUPC

각 줄마다 A_i 곱하기 B_i의 p제곱(p는 0부터 C_i까지)을 계산했을 때 나타나는 서로 다른 값의 개수를 구한다.

어려움8정수론해시맵수학조합론아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

IUPC(International University student Product Contest)는 세 명이 한 팀을 이뤄 큰 수의 곱셈을 얼마나 빠르고 정확하게 계산하는지 겨루는 대회다. 제1회 대상은 인하대학교의 "I inha U" 팀이, 제2회 대상도 인하대학교의 "URF" 팀이 차지했다. 그리고 오늘, 제3회 IUPC가 열린다.

즐거운 날이지만 참가 팀의 마음은 편하지 않다. 대회를 주관하는 CTP가 매번 인하대학교만 대상을 타면 다른 대학 팀의 사기가 떨어진다고 보고 규칙을 바꿨기 때문이다.

예전 대회는 큰 수 두 개를 주고 빠르게 곱하기만 하면 되는 단순한 대회였다. 제3회 IUPC는 다음 순서로 진행된다.

  1. NN개의 줄에 걸쳐 AA, BB, CC가 차례대로 주어진다.
  2. ii번째 줄에 주어진 값을 AiA_i, BiB_i, CiC_i라고 하자. 모든 ii에 대해 Ai×Bi0A_i \times B_i^0, Ai×Bi1A_i \times B_i^1, Ai×Bi2A_i \times B_i^2, \dots, Ai×BiCiA_i \times B_i^{C_i}를 계산하고 각 결과를 카드 한 장에 하나씩 적는다.
  3. 계산을 모두 마치면 카드가 i=1N(Ci+1)\sum_{i=1}^{N}{(C_i+1)}장 생긴다. 적힌 수가 같은 카드끼리 한 묶음으로 모은다.
  4. 이렇게 정리하면 묶음이 KK개 생긴다. KK는 카드 수와 같을 수도 있고 그보다 작을 수도 있다. KK를 가장 빠르게 계산하는 팀이 우승한다.

입력

첫 번째 줄에 NN(1N1001 \le N \le 100)이 주어진다. 두 번째 줄부터 NN개의 줄에 걸쳐 AiA_i, BiB_i, CiC_i가 공백으로 구분되어 주어진다. (2Ai,Bi100,0002 \le A_i, B_i \le 100{,}000, 1Ci100,0001 \le C_i \le 100{,}000)

출력

첫 번째 줄에 규칙대로 카드를 정리했을 때 생기는 묶음의 수 KK를 출력한다.