#include using namespace std; const double EPS = 1e-9; const int INF = 0x7f7f7f7f; const double PI=acos(-1.0); #define READ(f) freopen(f, "r", stdin) #define WRITE(f) freopen(f, "w", stdout) #define m_p(x, y) make_pair(x, y) #define p_b(x) push_back(x) #define rep(i,n) for(i=1;i<=n;i++) #define rep0(i,n) for(i=0;i #define vii vector < vector < int > > #define pii pair< int, int > #define ff first #define ss second #define ll long long #define ull unsigned long long #define ui unsigned int #define MOD 1000000007 template< class T > inline T _abs(T n) { return ((n) < 0 ? -(n) : (n)); } template< class T > inline T _max(T a, T b) { return (!((a)<(b))?(a):(b)); } template< class T > inline T _min(T a, T b) { return (((a)<(b))?(a):(b)); } template< class T > inline T _swap(T &a, T &b) { a=a^b;b=a^b;a=a^b;} template< class T > inline T gcd(T a, T b) { return (b) == 0 ? (a) : gcd((b), ((a) % (b))); } template< class T > inline T lcm(T a, T b) { return ((a) / gcd((a), (b)) * (b)); } //******************DELETE**************** #ifdef rafsan_rana #define debug(args...) {cerr<<"Debug: "; dbg,args; cerr< debugger& operator , (const T& v){ cerr<>n>>a>>b>>q; ll vag=a+b; for(ll i=1;i<=n;i++) cin>>arr[i]; build(1,1,n); for(ll i=1;i<=q;i++) { int p; cin>>p; if(p==1) { cin>>updatePos>>updateVal; updatePos++; update ( 1,1,n ); } else { cin>>queryLeft>>queryRight; queryLeft++; queryRight++; queryRes=0; query ( 1, 1, n ); if(queryRes%vag==0) cout<<"Yes"; else cout<<"No"; if(i!=q)cout<