https://codeforces.com/contest/1182/problem/E


써보면서 했더니

f4 = f1^1 * f2^1 * f3^1

f5 = 2 2 1

f6 = 4 3 2

f7 = 7 6 4

f8 = 13 11 7

이런식으로 f1 ,f2, f3를 몇번 제곱하는지를 구해서 풀면 되는건 알겠음

N이 10^18이라 그냥 값을 저장하는 식으로 구할수는 없는거 같고 푼 사람들 보니까 행렬썼던데


여기서 이해가 안가는게 행렬안의 원소의 값도 엄청 커질 수 있으니까 mod연산으로 처리를 하던데

문제에서 주어진 값(1e9+7)이 아니라 (1e9+7 -1)값으로 mod연산을 처리하던데 이렇게 해도 결과에 영향이 없는 이유가 궁금합니다.


수학...쪽 내용인거 같아서 공부하려 하는데 일단 이거 너무 궁금해서 미치겠음;;;