import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int a = in.nextInt(); int b = in.nextInt(); int q = in.nextInt(); int[] c = new int[n]; for(int c_i=0; c_i < n; c_i++){ c[c_i] = in.nextInt(); } for(int a0 = 0; a0 < q; a0++){ int queryType = in.nextInt(); int first = in.nextInt(); int second = in.nextInt(); // your code goes here if (queryType == 1) { c[first] = second; } else { int remainder = (-1 * b)/a; int count = 0; int sum = 0; for (int i = first; i <= second; i++) { int power = 1; for (int j=0; j<(i-first); j++) { power *= remainder; } sum += c[i] * power; } if (sum == 0) { System.out.println("Yes"); } else { System.out.println("No"); } } } } }