Малюк, а давай попустуємо.
Зачекай, Карлсон, мені уроки робити потрібно.
Малюк, а ти знаєш, хто найкращий у світі розв'язувач уроків?
І хто ж це?
Малюк, та це ж я! Що там тобі задали?!
Вчителька задала мені велике число, і сказала розв'язувати такі приклади: вибирати два числа та і виписувати усі цифри з заданого числа з позиції до позиції включно, відкидати початкові нулі, якщо вони є, і перевіряти, чи ділиться отримане число на .
Фі, ото й усе?! Та я розв'яжу сто тисяч таких прикладів за одну секунду.
Тільки, Карлсон, там ще деякі цифри у числі іноді міняються.
Так це не страшно, Малюк!
У цій задачі Карлсон знову наобіцяв Малюку того, чого не зможе зробити. Доведеться Вам допомогти йому: напишіть програму, яка буде давати відповіді Малюку.
Перший рядок містить єдине число довжини (1 \leq N \leq 10^6) — число, задане Малюку. Далі йде число (1 \leq M \leq 10^5) — кількість запитів. Наступні рядків містять по три числа — тип запиту, та . Кожен запит з номером означає, що потрібно виписати усі цифри, які стоять на позиціях від до включно (нумерація починається з одиниці) і перевірити, чи ділиться дане число на ; запит з номером означає, що тепер на позиції стоїть цифра .
Для кожного запиту з номером виведіть рядок "Yes", якщо число ділиться на , і "No", якщо ні.
Приклад 1