마블코인
시간 제한1초메모리 제한1024 MB
구슬이 여러 더미에 쌓여 있고 매일 맨 위 구슬 하나만 훔칠 수 있으며, 구슬의 세금은 보유 일수에 따라 value 곱하기 365의 거듭제곱으로 정해진다. 총 세금이 최소가 되는 순서를 구해 1e9+7로 나눈 나머지를 출력한다.
문제
큐비코니아는 세율이 높기로 손꼽히는 나라다. 세금은 하루 단위로 계산되고, 값어치가 없어 보이는 물건에도 세금이 붙는다. 황제의 친구 몇 명은 이 터무니없는 세율을 피하려고 구슬로 새 화폐를 만들었다. 결과는 신통치 않았다. 구슬에도 곧 세금이 붙었기 때문이다.
그래도 황제는 구슬을 화폐로 쓰는 발상이 훌륭하고 앞으로 값이 훨씬 오른다고 믿는다. 그래서 친구들의 구슬을 전부 훔치기로 했다. 괜한 관심을 끌지 않으려고 매일 밤 친구 한 명의 집을 찾아가 구슬을 정확히 하나만 훔친다. 친구들은 구슬을 더미로 쌓아 두므로, 훔칠 수 있는 구슬은 어느 더미든 맨 위에 놓인 구슬뿐이다.
구슬에는 저마다 가치가 있다. 구슬 하나에 내야 하는 세금은 이고, 는 그 구슬의 가치, 는 구슬을 가지고 있던 날수다. 황제는 구슬을 다 훔친 다음에 전부 팔 생각이다. 즉 구슬이 모두 개라면, 가장 나중에 훔친 구슬은 1일 동안, 가장 먼저 훔친 구슬은 일 동안 가지고 있게 된다.
세금 총액은 구슬을 훔치는 순서에 따라 달라진다. 세금을 가장 적게 내는 순서로 훔쳤을 때의 총액을 구하라.
입력
첫째 줄에 황제가 털 더미의 개수 ()이 주어진다. 다음 개 줄에는 더미가 한 개씩 주어진다. 각 줄은 그 더미에 있는 구슬의 개수 ()로 시작하고, 이어서 구슬의 가치 ()가 맨 위 구슬부터 차례대로 주어진다. 구슬의 총 개수는 이하다.
출력
최적의 순서로 훔쳤을 때 내야 하는 세금 총액을 로 나눈 나머지를 한 줄에 출력한다.