#include using namespace std; #define rep(i,n) for(ll i=0;i=b;i--) #define ll long long int #define pll pair #define fill(a,x) memset(a,x,sizeof(a)) #define mb make_pair #define pb push_back #define F first #define S second #define M 1000000007 #define dbg(a) std::cerr<<#a<<"="<<(a)<<"\n" #define dbg1(a,b) std::cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<"\n" #define dbg2(a,b,c) std::cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<", "<<#c<<"="<<(c)<<"\n" #define dbg3(a,b,c,d) std::cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<", "<<#c<<"="<<(c)<<", "<<#d<<"="<<(d)<<"\n" ll gcd(ll a, ll b) { return (b == 0 ? a : gcd(b, a % b)); } ll power(ll x,ll y) { ll ans=1; while(y>0){ if(y&1) ans=(ans*x)%M; x=(x*x)%M; y/=2; } return ans; } ll dx[] = {1,1,0,-1,-1,-1,0,1}, dy[] = {0,1,1,1,0,-1,-1,-1}; int main() { ll n,a,b,q,l,r,t; cin>>n>>a>>b>>q; ll c[n]; rep(i,n) cin>>c[i]; ll x=a+b; rep(i,q) { ll pos,y; cin>>t; if(t==1) { cin>>pos>>y; c[pos]=y; } else { cin>>l>>r; ll tm=0; repp(i,l,r) tm+=c[i]; //dbg(tm); if(tm%x==0) cout<<"Yes"<