Bir massiviniz var və əvvəlcə bu massiv yalnız bir elementdən ibarətdir.
Lakin hər sorğu ilə bu massiv böyüyəcək. Bu massiv və onun üzərindəki sorğularla işləyə biləcəksinizmi? Daha dəqiq desək, sizdən aşağıdakı sorğuları emal etməyiniz tələb olunur:
COPY – massivi kopyalayın və onu sona əlavə edin.
CHANGE pos val – pos mövqeyindəki elementi val ilə əvəz edin.
SUM left right – [left;right] aralığındakı bütün elementlərin cəmini 10^9+7 moduluna görə hesablayın.
Girişin birinci sətirində massivdəki yeganə element olan A (1 ≤ A ≤ 10^9) ədədi verilir.
İkinci sətirdə Q (1 ≤ Q ≤ 2*10^5) – sorğuların sayı verilir.
Növbəti Q sorğu aşağıdakı formatda verilir:
COPY – birinci tip sorğu.
CHANGE pos val – ikinci tip sorğu (1 ≤ pos ≤ 10^18, 1 ≤ val ≤ 10^9).
SUM left right – üçüncü tip sorğu (1 ≤ left ≤ right ≤ 10^18).
Zəmanət verilir ki, ikinci və üçüncü sorğuların pos, left, right dəyərləri cari massiv ölçüsünü keçməyəcək.
Üçüncü tip sorğuların hər biri üçün müvafiq aralıqdakı bütün ədədlərin 10^9+7 moduluna görə cəmini çıxış edin.
Nümunə 1