만드는 중입니다

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

신제품 개발

시간 제한1.5초메모리 제한1024 MB

요약
정점 1에서 시작해 K번의 단계를 진행하며, 최종 정점 u와 카운터 c를 1000000007로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

유형
그래프, 정렬, 이분 탐색, 수학
정답자
아직 제출이 없습니다

문제

FuriosaAI는 차세대 NPU(신경망 처리 장치) 제품을 만들어 AI 개발을 개척하는 데 도움을 줍니다. 추론에 초점을 맞춘 NPU 제품은 비용과 에너지 소모량을 줄여 제약 없이 혁신할 수 있게 합니다.

FuriosaAI에서 일하는 연구원 주원이가 새로운 제품을 만들었습니다.

이 제품의 구성 요소는 다음과 같습니다.

  • 제품에는 특수한 작업을 하는 신경망의 구조가 이미 새겨져 있습니다. 이 신경망은 NN개의 정점과 MM개의 간선으로 이루어진 방향 그래프로 볼 수 있습니다.
  • 신경망 추론을 할 때는 관심 있는 uu번 정점과 카운터 cc가 있습니다. 제품 가동 전에 u=1u=1, c=0c=0으로 초기화됩니다.
  • 신경망의 ii번 정점은 증분 AiA_i를 가집니다.
  • 신경망의 ii번 간선은 uiu_i번 정점에서 viv_i번 정점으로 이어지며, 두 정점은 서로 다릅니다.
  • 신경망의 ii번 간선은 특성값 BiB_i를 가지며, 모든 특성값은 서로 다릅니다.

이 제품은 다음 과정을 KK번 반복합니다.

  1. 먼저 uu번 정점에서 나가는 간선 중 c≥Bic \geq B_i이면서 BiB_i가 가장 큰 간선을 찾아 이를 ii번 간선이라 합니다. uu를 viv_i로 바꿉니다. 즉, 관심 정점을 ii번 간선을 따라 이동시킵니다. 그런 간선이 없다면 아무 일도 하지 않습니다.
  2. cc의 값을 c+Auc+A_u로 바꿉니다.

연구원 주원이는 1초에 10810^8번만 연산을 수행할 수 있다는 PSer들의 통념을 깨고, K=1018K=10^{18}일 때도 1초 만에 연산을 수행하려 합니다. 여러분은 주원이의 계획을 도와야 합니다!

입력

첫 번째 줄에 NN, MM, KK가 공백으로 구분되어 주어집니다.

두 번째 줄에 AiA_i가 공백으로 구분되어 주어집니다.

이후 MM개의 줄에 걸쳐 uiu_i, viv_i, BiB_i가 공백으로 구분되어 주어집니다.

출력

제품이 연산 수행을 끝냈을 때의 상태인 uu와 c mod 1 000 000 007c \bmod 1\,000\,000\,007을 공백을 사이에 두고 출력합니다.

제한

  • 주어지는 모든 수는 정수입니다.
  • 2≤N≤5002\le N\le 500
  • 1≤M≤100 0001\le M\le 100\,000
  • 1≤K≤10181\le K\le 10^{18}
  • 0≤Ai≤10180\le A_i\le 10^{18} (1≤i≤N1\le i\le N)
  • 1≤ui,vi≤N1\le u_i,v_i\le N, ui≠viu_i\neq v_i (1≤i≤M1\le i\le M)
  • (ui,vi)(u_i,v_i) 쌍은 중복되어 주어질 수 있습니다.
  • 0≤Bi≤10180\le B_i\le 10^{18} (1≤i≤M1\le i\le M)
  • B1,⋯ ,BMB_1,\cdots,B_M은 서로 다릅니다.

예제2

  1. 예제 1

    입력
    6 6 12
    3 2 1 7 100 0
    1 2 1
    2 3 4
    3 1 9
    3 4 10
    4 5 100
    6 1 0
    
    예상 출력
    4 36
    
  2. 예제 2

    입력
    2 1 2
    1000000000000000000 1
    1 2 1000000000000000000
    
    예상 출력
    2 50