#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, mod = 1e9 + 7, base = 10;
long long tree[4 * N], lazy[4 * N], pw[4 * N], sum[4 * N];
void propagate(int node, int st, int en) {
  if (~lazy[node]) {
    tree[node] = (sum[en - st] * 1ll * lazy[node]) % mod;
    if (st != en) lazy[2 * node] = lazy[2 * node + 1] = lazy[node];
    lazy[node] = -1;
  }
}
void update(int node, int st, int en, int shemal, int yemeen, int val) {
  propagate(node, st, en);
  if (st > en || st > yemeen || en < shemal) return;
  if (shemal <= st && en <= yemeen) {
    lazy[node] = val;
    propagate(node, st, en);
    return;
  }
  int mid = (st + en) / 2;
  update(2 * node, st, mid, shemal, yemeen, val);
  update(2 * node + 1, mid + 1, en, shemal, yemeen, val);
  int a = tree[2 * node], b = tree[2 * node + 1];
  tree[node] = (a + (b * 1ll * pw[mid - st + 1]) % mod) % mod;
}
void query(int node, int st, int en, int shemal, int yemeen, long long &ans) {
  propagate(node, st, en);
  if (st > en || st > yemeen || en < shemal) return;
  if (shemal <= st && en <= yemeen) {
    ans = (ans + (tree[node] * 1ll * pw[st - shemal]) % mod) % mod;
    return;
  }
  int mid = (st + en) / 2;
  query(2 * node, st, mid, shemal, yemeen, ans);
  query(2 * node + 1, mid + 1, en, shemal, yemeen, ans);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  pw[0] = sum[0] = 1;
  for (auto i = 1; i < (long long)(4 * N); i++)
    pw[i] = (base * pw[i - 1]) % mod, sum[i] = (sum[i - 1] + pw[i]) % mod;
  memset(lazy, -1, sizeof lazy);
  int n, m, k;
  cin >> n >> m >> k;
  string x;
  cin >> x;
  x.insert(x.begin(), '0');
  for (auto i = 1; i <= (long long)(n); i++) update(1, 1, n, i, i, x[i] - '0');
  int q = m + k;
  while (q--) {
    int t, l, r, c;
    cin >> t >> l >> r >> c;
    if (t == 1)
      update(1, 1, n, l, r, c);
    else {
      long long a = 0;
      query(1, 1, n, l, r - c, a);
      long long b = 0;
      query(1, 1, n, l + c, r, b);
      if (a == b)
        cout << "YES\n";
      else
        cout << "NO\n";
    }
  }
  return 0;
}
