جمله جبری


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

به یک رشته مثل ss یک جمله‌ی جبری می‌گوییم هرگاه فقط از بتوان آن را به دو قسمت مثل abab تقسیم کرد که aa یک عدد طبیعی و bb رشته‌ای از حروف کوچک انگلیسی باشد. برای مثال رشته‌های 3x و 115ali عبارت جبری هستند ولی 1x2y ،12 و xy عبارت جبری نیستند.

حال به شما یک رشته به طول nn مثل ss از حروف کوچک انگلیسی (کاراکترهای a تا z) و ارقام (کاراکترهای 1 تا 9) داده می‌شود و از شما qq درخواست می‌شود، در خواست‌ها دو نوع دارند:

  • در درخواست نوع اول، دو عدد ll و rr که 1lrn1 \leq l \leq r \leq n است داده می‌شود و تعداد زیررشته‌های متوالی sl,sl+1,,srs_l, s_{l+1}, \dots, s_r آن که عبارت جبری هستند را چاپ کنید.
  • در درخواست نوع دوم، عدد ii و کاراکتر cc به شما داده می‌شود و از شما می‌خواهیم sis_i را به cc تغییر دهید.

منظور از زیررشته‌ی متوالی یک رشته مثل ss، رشته‌ای است که از حذف کردن تعدادی (حتی صفر) کاراکتر از ابتدا و انتهای آن بدست بیاید. برای مثال ode، cup زیررشته‌ی متوالی codecup است ولی ccup و puc زیررشته‌ی متوالی آن نیست.

ورودی🔗

در سطر اول دو عدد صحیح و مثبت nn و qq داده می‌شود. 1n,q2000001 \leq n, q \leq 200 \, 000

در سطر دوم ورودی رشته‌ی ss شامل nn کاراکتر از حروف کوچک و ارقام به طول nn داده می‌شود. در ‌qq سطر بعدی در هر سطر یا سه عدد 1 و ll و rr داده می‌شود که نشان دهنده‌ی درخواستی از نوع اول است.

1lrn1 \leq l \leq r \leq n

یا دو عدد 2 و ii و کاراکتر c داده می‌شود که نشان دهنده‌ی درخواست نوع دوم است.

1in1 \leq i \leq n c{a,b,,z,1,2,,9}c \in \{a, b, \dots, z, 1, 2, \dots, 9\}

خروجی🔗

در سطرهای جداگانه، به ترتیب پاسخ پاسخ درخواست‌های نوع اول را چاپ کنید. تضمین می‌شود حداقل یک درخواست از نوع اول وجود دارد.

مثال‌ها🔗

ورودی نمونه ۱🔗

10 6
183xa11u7z
1 1 5
2 2 x
1 1 5
1 5 9
2 9 8
1 1 10
Plain text

خروجی نمونه ۱🔗

6
3
2
6
Plain text
توضیح نمونه ۱

در درخواست اول تعداد زیررشته‌های جبری 183xa پرسیده شده که برابر ۶ است (3x، 3xa، 83x، 83xa، 183x و 183xa).

در درخواست دوم رشته‌ی ss به 1x3xa11u7z تبدیل می‌شود.

در درخواست سوم تعداد زیررشته‌های جبری 1x3xa پرسیده شده که برابر ۳ است (1x، 3x و 3xa).

در درخواست چهارم تعداد زیررشته‌های جبری a11u7 پرسیده شده که برابر ۲ است (1u و 11u).

در درخواست پنجم رشته‌ی ss به 1x3xa11u9z تبدیل می‌شود.

در درخواست ششم تعداد زیررشته‌های جبری 1x3xa11u9z پرسیده شده که برابر ۶ است (1x، 3x، 3xa، 1u، 11u و 9z).