#SGM0000055. Biến đổi (Transformation)

Biến đổi (Transformation)

Biến đổi (Transformation)

Nguồn: HDU

Phiên bản: Phước Hưng OJ Extended

Đề bài

Ban đầu có nn số đều bằng 0. Có bốn thao tác: cộng cc trên đoạn, nhân cc trên đoạn, gán cc trên đoạn, hoặc hỏi tổng lũy thừa bậc p∈{1,2,3}p\in\{1,2,3\} trên đoạn modulo 10007.

Input

Dòng đầu chứa n,mn,m. Sau đó có đúng mm thao tác, mỗi dòng gồm op l r c:

  • op = 1: cộng cc vào đoạn.
  • op = 2: nhân đoạn với cc.
  • op = 3: gán đoạn bằng cc.
  • op = 4: khi đó c=p∈{1,2,3}c=p\in\{1,2,3\}, hỏi ∑aip\sum a_i^p trên đoạn modulo 1000710007.

Sentinel 0 0 của đề gốc HDU không xuất hiện trong phiên bản PHOJ.

Output

Mỗi thao tác loại 4 in đáp án modulo 1000710007.

Subtask

  • Subtask 1 (20%): nn và số thao tác không vượt 30; các điều kiện còn lại giữ như đề đầy đủ.

  • Subtask 2 (30%): nn và số thao tác không vượt 3000; các điều kiện còn lại giữ như đề đầy đủ.

  • Subtask 3 (50%): toàn bộ giới hạn:

  • 1≤n,m≤1051\le n,m\le10^5

  • 1≤c≤100001\le c\le10000

  • 1≤p≤31\le p\le3

Ví dụ

Input

5 5
3 3 5 7
1 2 4 4
4 1 5 2
2 2 5 8
4 3 5 3

Output

307
7489

Giải thích

Sau gán và cộng, mảng là [0,4,11,11,7]; tổng bình phương là 307 modulo 10007. Sau phép nhân 8 trên [2,5], truy vấn bậc 3 trên [3,5] cho 7489.