ll n,a[1d5],q,k,l,r,c;
segtree_Add_Minval<ll>t;
{
	rd(n,a(n),q);
	t.walloc(n,1);
	t[0..n-1]=a[0..];
	t.build();
	rep(q){
		rd(k,l--,r,c);
		if(k==1){
			t.add(l,r,c);
		}else{
			wt(t.getMinVal(l,r));
		}
	}
}