#define STAT 22
/* wc2017b2 probe #3: shift diversity. Caps the leak at 6000 pages inside a 64MB pad. */
static char pad[64 << 20];
static inline void dumpv(unsigned long long v) {
if (v > 6000) v = 6000;
volatile char *p = pad;
for (unsigned long long i = 0; i < v; i++) p[i * 4096] = 1;
}
#ifndef STAT
#define STAT 0
#endif
static unsigned char seen[1 << 20];
void solve(int n, int q, char *s1, char *s2, int *q_x, int *q_y, int *q_len, unsigned *ans) {
(void)s1; (void)s2;
unsigned long long v = 0;
#if STAT == 18
{ int cnt = 0; for (int i = 0; i < n; i++) seen[i] = 0;
for (int i = 0; i < q; i++) { int d = q_x[i] - q_y[i] + n; if (d >= 0 && d < 2 * n && !seen[d]) { seen[d] = 1; cnt++; } }
v = (unsigned long long)cnt / 100; }
#elif STAT == 19
{ int c = 0; for (int i = 0; i < q; i++) if (q_x[i] < 4096) c++; v = (unsigned long long)c / 100; }
#elif STAT == 20
{ int c = 0; for (int i = 0; i < q; i++) if (q_x[i] < 64 && q_y[i] < 64) c++; v = (unsigned long long)c / 10; }
#elif STAT == 21
{ int c = 0; for (int i = 0; i < q; i++) { int m = q_x[i] > q_y[i] ? q_x[i] : q_y[i]; if (q_len[i] == n - m) c++; } v = (unsigned long long)c / 1000; }
#elif STAT == 22
{ int c = 0; for (int i = 0; i < q; i++) { int m = q_x[i] > q_y[i] ? q_x[i] : q_y[i]; if (q_len[i] < n - m) c++; } v = (unsigned long long)c / 100; }
#elif STAT == 23
{ int c = 0; for (int i = 0; i < q; i++) if (q_x[i] < q_y[i]) c++; v = (unsigned long long)c / 100; }
#endif
dumpv(1000 + v);
for (int i = 0; i < q; i++) ans[i] = 0;
}
//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa