#include <bits/stdc++.h>
using namespace std;
bool debug = 0;
int n, m, k;
int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};
long long ln, lk, lm;
char s[100005];
void fmain() {
  scanf("%d%d%d", &n, &m, &k);
  scanf("%s", s + 1);
  for (int ty, l, r, x, i = 0; i < m + k; i++) {
    scanf("%d%d%d%d", &ty, &l, &r, &x);
    if (ty == 1) {
      memset(s + l, '0' + x, r - l + 1);
    } else {
      bool fg = memcmp(s + l, s + l + x, r - x - l + 1) == 0;
      puts(fg ? "YES" : "NO");
    }
  }
}
int main() {
  fmain();
  return 0;
}
