• محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

یک دنباله از اعداد صحیح و مثبت مثل \(a_1, a_2, \dots, a_n \,\) داریم. \(q\) درخواست داریم که باید آن‌ها را به‌ترتیب انجام دهیم:

درخواست نوع اول

\[+ \,\, idx \,\, val\]

در این در‌خواست از شما می‌خواهیم مقدار \(a_{idx}\) را به \(val\) تغییر بده.

درخواست نوع دوم

\[? \,\, l \,\, r\]

در این درخواست از شما می‌خواهیم بررسی کنید آیا بازه \(a_l, \dots, a_r\) تشکیل یک جایگشت از اعداد \(1\) تا \(r - l + 1\) می‌دهد یا خیر.

ورودی

در سطر اول ورودی، دو عدد صحیح و مثبت \(n\) و \(q\) با یک فاصله از هم جدا‌شده‌اند، آمده است. \[1 \leq n, q \leq 100 \ 000\]

در سطر دوم، \(n\) عدد صحیح و مثبت که نشان دهنده‌ی مقدارهای \(a_1, a_2, \dots, a_n \,\) است. \[1 \leq a_i \leq n\]

در \(q\) سطر بعدی، در هر سطر، یکی از دو نوع دستور گفته شده در سوال می‌آید.

اگر درخواست از نوع اول باشد، در یک سطر ابتدا کاراکتر + می‌آید، سپس با یک فاصله دو عدد صحیح \(idx\) و \(val\) داده می‌شود.

\[1 \leq idx, val \leq n\]

اگر درخواست از نوع دوم باشد، در یک سطر ابتدا کاراکتر ? می‌آید، سپس با یک فاصله دو عدد صحیح \(l\) و \(r\) داده می‌شود.

\[1 \leq l \leq r \leq n\]

خروجی

تعداد سطرهای خروجی، به تعداد درخواست‌های نوع دوم است. در صورت تشکیل جایگشت در بازه آن درخواست، عبارت YES و در صورت جایگشت نبودن آن، عبارتNO را چاپ کنید.

مثال

ورودی نمونه ۱

3 6
1 3 2
? 1 2
? 1 3
+ 2 2
? 1 2
+ 3 1
? 2 3

خروجی نمونه ۱

NO
YES
YES
YES

ورودی نمونه ۲

5 5
1 2 1 2 1
? 3 5
+ 3 3
? 1 3
? 3 5
? 2 4

خروجی نمونه ۲

NO
YES
YES
NO
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.