Recently Lynyrd and Skynyrd went to a shop where Lynyrd bought a permutation $p$ of length $n$, and Skynyrd bought an array $a$ of length $m$, consisting of integers from $1$ to $n$. 

Lynyrd and Skynyrd became bored, so they asked you $q$ queries, each of which has the following form: "does the subsegment of $a$ from the $l$-th to the $r$-th positions, inclusive, have a subsequence that is a cyclic shift of $p$?" Please answer the queries.

A permutation of length $n$ is a sequence of $n$ integers such that each integer from $1$ to $n$ appears exactly once in it.

A cyclic shift of a permutation $(p_1, p_2, \ldots, p_n)$ is a permutation $(p_i, p_{i + 1}, \ldots, p_{n}, p_1, p_2, \ldots, p_{i - 1})$ for some $i$ from $1$ to $n$. For example, a permutation $(2, 1, 3)$ has three distinct cyclic shifts: $(2, 1, 3)$, $(1, 3, 2)$, $(3, 2, 1)$.

A subsequence of a subsegment of array $a$ from the $l$-th to the $r$-th positions, inclusive, is a sequence $a_{i_1}, a_{i_2}, \ldots, a_{i_k}$ for some $i_1, i_2, \ldots, i_k$ such that $l \leq i_1 < i_2 < \ldots < i_k \leq r$.


-----Input-----

The first line contains three integers $n$, $m$, $q$ ($1 \le n, m, q \le 2 \cdot 10^5$) — the length of the permutation $p$, the length of the array $a$ and the number of queries.

The next line contains $n$ integers from $1$ to $n$, where the $i$-th of them is the $i$-th element of the permutation. Each integer from $1$ to $n$ appears exactly once.

The next line contains $m$ integers from $1$ to $n$, the $i$-th of them is the $i$-th element of the array $a$.

The next $q$ lines describe queries. The $i$-th of these lines contains two integers $l_i$ and $r_i$ ($1 \le l_i \le r_i \le m$), meaning that the $i$-th query is about the subsegment of the array from the $l_i$-th to the $r_i$-th positions, inclusive.


-----Output-----

Print a single string of length $q$, consisting of $0$ and $1$, the digit on the $i$-th positions should be $1$, if the subsegment of array $a$ from the $l_i$-th to the $r_i$-th positions, inclusive, contains a subsequence that is a cyclic shift of $p$, and $0$ otherwise.


-----Examples-----
Input
3 6 3
2 1 3
1 2 3 1 2 3
1 5
2 6
3 5

Output
110

Input
2 4 3
2 1
1 1 2 2
1 2
2 3
3 4

Output
010



-----Note-----

In the first example the segment from the $1$-st to the $5$-th positions is $1, 2, 3, 1, 2$. There is a subsequence $1, 3, 2$ that is a cyclic shift of the permutation. The subsegment from the $2$-nd to the $6$-th positions also contains a subsequence $2, 1, 3$ that is equal to the permutation. The subsegment from the $3$-rd to the $5$-th positions is $3, 1, 2$, there is only one subsequence of length $3$ ($3, 1, 2$), but it is not a cyclic shift of the permutation.

In the second example the possible cyclic shifts are $1, 2$ and $2, 1$. The subsegment from the $1$-st to the $2$-nd positions is $1, 1$, its subsequences are not cyclic shifts of the permutation. The subsegment from the $2$-nd to the $3$-rd positions is $1, 2$, it coincides with the permutation. The subsegment from the $3$ to the $4$ positions is $2, 2$, its subsequences are not cyclic shifts of the permutation.

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

ns = {"__name__": "__main__"}
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = "import sys\n \nclass segmentTree:\n\tdef __init__(self, n):\n\t\tself.n = n\n\t\tself.seg = [self.n + 1] * (self.n << 1)\n\t\t\n\tdef update(self, p, value):\n\t\tp += self.n\n\t\tself.seg[p] = value\n\t\twhile p > 1:\n\t\t\tp >>= 1\n\t\t\tself.seg[p] = min(self.seg[p * 2], self.seg[p * 2 + 1])\n\t\t\t\n\t\n\tdef query(self, l, r):\n\t\tres = self.n\n\t\tl += self.n\n\t\tr += self.n\n\t\twhile l < r:\n\t\t\tif l & 1:\n\t\t\t\tres = min(res, self.seg[l])\n\t\t\t\tl += 1\n\t\t\tif r & 1:\n\t\t\t\tres = min(res, self.seg[r - 1])\n\t\t\t\tr -= 1\n\t\t\tl >>= 1\n\t\t\tr >>= 1\n\t\treturn res\n\t\t\t\t\ninp = [int(x) for x in sys.stdin.read().split()]\n \nn, m, q = inp[0], inp[1], inp[2]\n \np = [inp[idx] for idx in range(3, n + 3)]\n \nindex_arr = [0] * (n + 1)\nfor i in range(n):\tindex_arr[p[i]] = i\n \na = [inp[idx] for idx in range(n + 3, n + 3 + m)]\n \nleftmost_pos = [m] * (n + 1)\nnext = [-1] * m\n \nfor i in range(m - 1, -1, -1):\n\tindex = index_arr[a[i]]\n\tright_index = 0 if index == n - 1 else index + 1\n\tright = p[right_index]\n\tnext[i] = leftmost_pos[right]\n\tleftmost_pos[a[i]] = i\n\t\nlog = 0\nwhile (1 << log) <= n: log += 1\nlog += 1\ndp = [[m for _ in range(m + 1)] for  _ in range(log)]\n \nfor i in range(m):\n\tdp[0][i] = next[i]\n \nfor j in range(1, log):\n\tfor i in range(m):\n\t\tdp[j][i] = dp[j - 1][dp[j - 1][i]]\n \ntree = segmentTree(m)\nfor i in range(m):\n\tp = i\n\tlen = n - 1\n\tfor j in range(log - 1, -1, -1):\n\t\tif (1 << j) <= len:\n\t\t\tp = dp[j][p]\n\t\t\tlen -= (1 << j)\n\ttree.update(i, p)\n \ninp_idx = n + m + 3\nans = []\nfor i in range(q):\n\tl, r = inp[inp_idx] - 1, inp[inp_idx + 1] - 1\n\tinp_idx += 2\n\tif tree.query(l, r + 1) <= r:\n\t\tans.append('1')\n\telse:\n\t\tans.append('0')\nprint(''.join(ans))"
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

```

Measured memory_bytes: 17219