#SGM0000057. Gán đoạn và hợp thành hàm trên đoạn (Range Set Range Composite)

Gán đoạn và hợp thành hàm trên đoạn (Range Set Range Composite)

Gán đoạn và hợp thành hàm trên đoạn (Range Set Range Composite)

Nguồn: Library Checker

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

Đề bài

Có nn hàm affine fi(x)=aix+bif_i(x)=a_ix+b_i modulo 998244353998244353. Query loại 0 gán tất cả hàm trong đoạn nửa mở [l,r)[l,r) thành cùng f(x)=cx+df(x)=cx+d. Query loại 1 tính fr−1(⋯fl(x)⋯ )f_{r-1}(\cdots f_l(x)\cdots).

Input

Dòng đầu chứa n,qn,q. Tiếp theo có nn dòng, dòng thứ ii chứa ai,bia_i,b_i của hàm fi(x)=aix+bif_i(x)=a_ix+b_i. Mỗi trong qq dòng sau là:

  • 0 l r c d: gán mọi hàm có chỉ số l≤i<rl\le i<r thành fi(x)=cx+df_i(x)=cx+d.
  • 1 l r x: tính fr−1(fr−2(⋯fl(x)⋯ ))f_{r-1}(f_{r-2}(\cdots f_l(x)\cdots)).

Chỉ số là 0-based và đoạn là nửa mở [l,r)[l,r).

Output

Mỗi truy vấn loại 1 in giá trị hợp hàm modulo 998244353998244353.

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,q≤5⋅1051\le n,q\le5\cdot10^5

  • 0≤ai,bi,c,d,x<9982443530\le a_i,b_i,c,d,x<998244353

  • 0≤l<r≤n0\le l<r\le n

Ví dụ

Input

3 4
1 1
2 0
1 3
1 0 3 1
0 1 3 1 0
1 0 3 5
1 1 3 7

Output

7
6
7

Giải thích

Hợp ba hàm ban đầu tại x=1x=1 cho 7. Sau khi gán hai hàm cuối thành đồng nhất, hai truy vấn tiếp theo cho 6 và 7.