Proqram yazın ki, A = \{a_0, a_1, ..., a_{n - 1}\} ardıcıllığını aşağıdakı əməliyyatlarla idarə etsin:
update(s,t,x): a_s, a_{s + 1}, ..., a_t elementlərini ilə əvəz edin.
find(s,t): a_s, a_{s + 1}, ..., a_t elementləri arasında ən kiçik dəyəri tapın.
Qeyd edək ki, başlanğıcda bütün a_i~(i = 0, 1, ..., n - 1) elementləri 2^{31} - 1-ə bərabərdir.
Birinci sətir ardıcıllığının elementlərinin sayı n~(1 \le n \le 10^5) və sorğuların sayı q~(1 \le q \le 10^5)-i göstərir.
Daha sonra, hər bir -ci sorğu aşağıdakı formatlardan birində verilir:
Birinci rəqəm sorğunun növünü göstərir: update(s,t,x), isə find(s,t) deməkdir. Burada 0 \le s \le t < n, 0 \le x < 2^{31} - 1.
Hər bir əməliyyatı üçün minimal dəyəri ayrı sətirdə çıxarın.
Nümunə 1
Nümunə 2