#include "bits/stdc++.h" using namespace std; typedef long long ll; typedef vector vi; typedef pair ii; #define fill(a,x) memset(a,x,sizeof(a)) #define pb push_back #define sz(x) (int)x.size() #define all(x) x.begin(),x.end() #define F first #define S second #define FOR(i,a,b) for(int i = a; i<=b; ++i) #define NFOR(i,a,b) for(int i = a; i>=b; --i) #define fast ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0) const ll INF = 1e18; const int mod = 1e9+7; const int N = 1e5+10; inline int add(int x,int y){ x += y; if(x >= mod) x -= mod; return x; } inline int mul(int x,int y){ x = (1LL * x * y) % mod; return x; } ll aa[N]; ll expo(ll a,ll b,ll c = mod){ if(!b)return 1; ll temp = expo(a,b/2,c); temp = temp*temp%c; if(b&1)temp = temp*a%c; return temp; } int main(){ fast; int n,q; ll a,b; cin >> n >> a >> b >> q; b = expo(b,mod-2); a = (a*b)%mod; FOR(i,0,n-1)cin >> aa[i]; while(q--){ int c;cin >> c; if(c == 1){ int x;cin >> x; int val;cin >> val; aa[x] = val; } else{ int l,r; cin >> l >> r; ll ans = 0; FOR(i,l,r){ ans = add(mul(aa[i],b),mod-mul(ans,a)); //cout << ans << "\n"; } //cout << ans << "\n"; if(ans == 0){ cout << "Yes\n"; } else{ cout << "No\n"; } } } return 0; }