만드는 중입니다

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

여행

면접 대비

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

요약
도시 번호가 커지는 방향으로만 이동하는 철도망에서 판매되지 않는 구간을 뺀 뒤, 도시를 두 개 이상 거치는 모든 여행의 쾌감 합을 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 그래프
정답자
아직 제출이 없습니다

문제

Martynas는 여행을 좋아하며 인터넷 블로그에 후기를 쓴다. 오늘은 Rail Baitlandija라는 여행사가 제공하는 여행을 평가하려고 한다.

Baitlandija에는 1번부터 NN번까지 번호가 붙은 NN개의 도시가 있다. 도시들은 단방향 철도로 연결되어 있으며, i<ji < j일 때에만 도시 ii에서 도시 jj로 기차를 타고 갈 수 있다.

하지만 여행사가 모든 기차 경로를 판매하지는 않는다. ai<bia_i < b_i인 MM개의 도시 쌍 (ai,bi)(a_i, b_i)가 주어지며, 도시 aia_i에서 도시 bib_i로 가는 기차표는 살 수 없다.

여행은 도시의 수열 (a1,a2,...,ak)(a_1, a_2, ..., a_k) (k>1k > 1)이며, 모든 1≤i≤k−11 \le i \le k-1에 대해 aia_i에서 ai+1a_{i+1}로 가는 기차표가 판매되어야 한다. Martynas는 이런 여행을 각각 정확히 한 번씩 모두 해보려고 한다.

도시 ii를 방문하면 이전 여행에서 같은 도시를 방문했더라도 mim_i만큼의 즐거움을 얻는다. 따라서 여행 (a1,...,ak)(a_1, ..., a_k)에서 얻는 즐거움은 ma1+ma2+...+makm_{a_1} + m_{a_2} + ... + m_{a_k}이고, 모든 여행에서 얻은 즐거움을 더한다.

모든 여행을 마친 뒤 Martynas는 즐거움의 총합을 잊어버렸다. 후기에 이 값을 적어야 하므로 계산을 도와 달라.

입력

첫 줄에 정수 NN과 MM이 주어진다.

둘째 줄에 정수 m1m_1, m2m_2, ..., mNm_N이 주어진다. mim_i는 도시 ii에서 얻는 즐거움이다.

이어지는 MM개의 줄에는 각각 정수 aia_i와 bib_i가 주어지며, 도시 aia_i에서 도시 bib_i로 가는 기차표를 판매하지 않는다는 뜻이다.

출력

즐거움의 총합을 109+710^9 + 7로 나눈 나머지를 출력한다. 출력하는 값은 0 이상의 정수 하나이다.

제한

1≤N,M≤2000001 \le N, M \le 200000

모든 1≤i≤N1 \le i \le N에 대해 0≤mi≤10000000 \le m_i \le 1000000

시간 제한: 1000 ms. 메모리 제한: 1024 MB.

예제1

  1. 예제 1

    입력
    4 2
    10 5 8 1
    2 3
    1 4
    
    예상 출력
    83