import java.io.PrintWriter;
import java.util.Scanner;
public class H_Greatest common divisor {
static int N = 500000;
static int[] a = new int[N + 5];
static int[] c = new int[N * 4];
static int n, q, code, l, r, x, y, mod;
static PrintWriter out = new PrintWriter(System.out);
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
for (int i = 1; i <= n; i++) {
a[i] = sc.nextInt();
}
build(1, 1, n);
q = sc.nextInt();
for (int i = 1; i <= q; i++) {
code = sc.nextInt();
if (code == 1) {
l = sc.nextInt();
r = sc.nextInt();
mod = sc.nextInt();
if (query(1, 1, n, l, r, mod) <= 1) {
System.out.println("yes");
} else {
System.out.println("no");
}
} else {
x = sc.nextInt();
y = sc.nextInt();
update(1, 1, n, x, y);
}
}
out.close();
}
static void build(int id, int l, int r) {
if (l == r) {
c[id] = a[l];
return;
}
int mid = (l + r) >> 1;
build(id << 1, l, mid);
build(id << 1 | 1, mid + 1, r);
c[id] = gcd(c[id << 1], c[id << 1 | 1]);
}
static void update(int id, int l, int r, int x, int v) {
if (l == r) {
c[id] = v;
return;
}
int mid = (l + r) >> 1;
if (x <= mid) {
update(id << 1, l, mid, x, v);
} else {
update(id << 1 | 1, mid + 1, r, x, v);
}
c[id] = gcd(c[id << 1], c[id << 1 | 1]);
}
static int query(int id, int l, int r, int x, int y, int mod) {
if (l == r) {
return c[id] % mod == 0 ? 0 : 1;
}
int mid = (l + r) >> 1;
int ans = 0;
if (x <= mid && (c[id << 1] % mod != 0)) {
ans += query(id << 1, l, mid, x, y, mod);
if (ans >= 2) {
return 2;
}
}
if (y > mid && c[id << 1 | 1] % mod != 0) {
ans += query(id << 1 | 1, mid + 1, r, x, y, mod);
if (ans >= 2) {
return 2;
}
}
return ans;
}
static int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
}