#include <bits/stdc++.h>
#include <stdio.h>
#define __Shibae__ signed main()
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fiopen(Path) freopen(Path".INP", "r", stdin); freopen(Path".OUT", "w", stdout);
#define fipen(Path) freopen(Path".INP", "r", stdin);
#define sz(s) (int)s.size()
#define all(x) x.begin(), x.end()
#define maxHeap priority_queue<int>
#define minHeap priority_queue<int, vector<int>, greater<int>>
#define getBit(x, k) (((x) >> (k)) & 1)
#define MASK(i) (1LL << (i))
#define SQR(x) (1LL * ((x) * (x)))
#define db double
#define ld long double
#define ui unsigned int
#define ll long long
#define ii pair<int, int>
#define pli pair<ll, int>
#define pil pair<int, ll>
#define pll pair<ll, ll>
#define fi first
#define se second
#define FOR(i, a, b) for(int i = a, _b = b; i <= _b; i += 1)
#define FOD(i, a, b) for(int i = a, _b = b; i >= _b; i -= 1)
#define REP(i, a) for(int i = 0, _a = a; i < _a; i++)
#define pb push_back
#define fau(u, a) for(auto &u : a)
#define debug return cout << "debug", void();
using namespace std;
const ll mod = 1e9 + 7;
const int INF = 1e9 + 7;
const ll INFLL = (ll)2e18 + 7LL;
const ld PI = acos(-1);
const int MAX = 5e5+5;
const int dx[] = {1, -1, 0, 0, -1, 1, 1, -1};
const int dy[] = {0, 0, 1, -1, -1, -1, 1, 1};
mt19937 rd(chrono::steady_clock::now().time_since_epoch().count());
ll Rand(ll l, ll r)
{
return uniform_int_distribution<ll>(l, r)(rd);
}
template<class SHIBA, class ENGINE>
bool minimize(SHIBA &x, const ENGINE y)
{
if(x > y)
{
x = y;
return true;
}
else return false;
}
template<class SHIBA, class ENGINE>
bool maximize(SHIBA &x, const ENGINE y)
{
if(x < y)
{
x = y;
return true;
}
else return false;
}
/* Template by: Nguyen Nhat Anh from Luong Van Chanh High School for the gifted */
/* From Min Tuoi with love */
/** TRY HARD **/
/** ORZ **/
/* -----------------[ MAIN CODE ]----------------- */
int n, m, q, T;
int a[MAX];
int st[MAX << 1];
vector<int> dep[MAX << 1];
int required[MAX];
int res;
int jett(int l, int r, int i)
{
int cnt = 0;
for (l = l - 1 + n, r = r + n; l < r; l >>= 1, r >>= 1)
{
if (l & 1) {
dep[l].pb(i);
cnt++;
l++;
}
if (r & 1) {
r--;
dep[r].pb(i);
cnt++;
}
}
return cnt;
}
void input()
{
cin >> n >> m >> q >> T;
FOR(i, 1, n) cin >> a[i];
FOR(i, 1, m)
{
int l, r; cin >> l >> r;
required[i] = jett(l, r, i);
}
}
void modify(int i)
{
required[i]--;
if (!required[i]) res++;
}
void build()
{
for (int i = 0; i < n; i++)
{
st[n + i] = a[i + 1];
}
for (int i = n - 1; i > 0; i--)
{
st[i] = st[i << 1] + st[i << 1 | 1];
}
for (int i = 1; i < 2 * n; i++)
{
if (!st[i]) fau(x, dep[i]) modify(x);
}
}
void update(int i)
{
for (int id = i - 1 + n; id > 0; id >>= 1)
{
st[id]--;
if (!st[id]) fau(x, dep[id]) modify(x);
}
}
void solve()
{
build();
while(q--)
{
int y; cin >> y;
int x;
if (!T) x = y;
else x = ((res + y) % n) + 1;
update(x);
cout << res << "\n";
}
}
__Shibae__
{
IOS
// fiopen("sanlap")
const bool multitest = 0;
int tt = 1; if(multitest) cin >> tt;
while( tt-- ){
input();
solve();
if(tt) cout << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxzdGRpby5oPgoKI2RlZmluZSBfX1NoaWJhZV9fICAgICAgc2lnbmVkIG1haW4oKQojZGVmaW5lIElPUyAgICAgICAgICAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiNkZWZpbmUgZmlvcGVuKFBhdGgpICAgIGZyZW9wZW4oUGF0aCIuSU5QIiwgInIiLCBzdGRpbik7IGZyZW9wZW4oUGF0aCIuT1VUIiwgInciLCBzdGRvdXQpOwojZGVmaW5lIGZpcGVuKFBhdGgpICAgICBmcmVvcGVuKFBhdGgiLklOUCIsICJyIiwgc3RkaW4pOwojZGVmaW5lIHN6KHMpICAgICAgICAgICAoaW50KXMuc2l6ZSgpCiNkZWZpbmUgYWxsKHgpICAgICAgICAgIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIG1heEhlYXAgICAgICAgICBwcmlvcml0eV9xdWV1ZTxpbnQ+CiNkZWZpbmUgbWluSGVhcCAgICAgICAgIHByaW9yaXR5X3F1ZXVlPGludCwgdmVjdG9yPGludD4sIGdyZWF0ZXI8aW50Pj4KI2RlZmluZSBnZXRCaXQoeCwgaykgICAgKCgoeCkgPj4gKGspKSAmIDEpCiNkZWZpbmUgTUFTSyhpKSAgICAgICAgICgxTEwgPDwgKGkpKQojZGVmaW5lIFNRUih4KSAgICAgICAgICAoMUxMICogKCh4KSAqICh4KSkpCiNkZWZpbmUgZGIgICAgICAgICAgICAgIGRvdWJsZQojZGVmaW5lIGxkICAgICAgICAgICAgICBsb25nIGRvdWJsZQojZGVmaW5lIHVpICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQKI2RlZmluZSBsbCAgICAgICAgICAgICAgbG9uZyBsb25nCiNkZWZpbmUgaWkgICAgICAgICAgICAgIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgcGxpICAgICAgICAgICAgIHBhaXI8bGwsIGludD4KI2RlZmluZSBwaWwgICAgICAgICAgICAgcGFpcjxpbnQsIGxsPgojZGVmaW5lIHBsbCAgICAgICAgICAgICBwYWlyPGxsLCBsbD4KI2RlZmluZSBmaSAgICAgICAgICAgICAgZmlyc3QKI2RlZmluZSBzZSAgICAgICAgICAgICAgc2Vjb25kCgojZGVmaW5lIEZPUihpLCBhLCBiKSAgICBmb3IoaW50IGkgPSBhLCBfYiA9IGI7IGkgPD0gX2I7IGkgKz0gMSkKI2RlZmluZSBGT0QoaSwgYSwgYikgICAgZm9yKGludCBpID0gYSwgX2IgPSBiOyBpID49IF9iOyBpIC09IDEpCiNkZWZpbmUgUkVQKGksIGEpICAgICAgIGZvcihpbnQgaSA9IDAsIF9hID0gYTsgaSA8IF9hOyBpKyspCiNkZWZpbmUgcGIgICAgICAgICAgICAgIHB1c2hfYmFjawojZGVmaW5lIGZhdSh1LCBhKSAgICAgICBmb3IoYXV0byAmdSA6IGEpCiNkZWZpbmUgZGVidWcgICAgICAgICAgIHJldHVybiBjb3V0IDw8ICJkZWJ1ZyIsIHZvaWQoKTsKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBsbCBtb2QgPSAxZTkgKyA3Owpjb25zdCBpbnQgSU5GID0gMWU5ICsgNzsKY29uc3QgbGwgSU5GTEwgPSAobGwpMmUxOCArIDdMTDsKY29uc3QgbGQgUEkgPSBhY29zKC0xKTsKY29uc3QgaW50IE1BWCA9IDVlNSs1OwogCmNvbnN0IGludCBkeFtdID0gezEsIC0xLCAwLCAwLCAtMSwgMSwgMSwgLTF9Owpjb25zdCBpbnQgZHlbXSA9IHswLCAwLCAxLCAtMSwgLTEsIC0xLCAxLCAxfTsKCm10MTk5MzcgcmQoY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKCmxsIFJhbmQobGwgbCwgbGwgcikgCnsKICAgIHJldHVybiB1bmlmb3JtX2ludF9kaXN0cmlidXRpb248bGw+KGwsIHIpKHJkKTsKfQoKdGVtcGxhdGU8Y2xhc3MgU0hJQkEsIGNsYXNzIEVOR0lORT4KICAgIGJvb2wgbWluaW1pemUoU0hJQkEgJngsIGNvbnN0IEVOR0lORSB5KQogICAgewogICAgICAgIGlmKHggPiB5KQogICAgICAgIHsKICAgICAgICAgICAgeCA9IHk7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gCiAgICAgICAgZWxzZSByZXR1cm4gZmFsc2U7CiAgICB9CnRlbXBsYXRlPGNsYXNzIFNISUJBLCBjbGFzcyBFTkdJTkU+CiAgICBib29sIG1heGltaXplKFNISUJBICZ4LCBjb25zdCBFTkdJTkUgeSkKICAgIHsKICAgICAgICBpZih4IDwgeSkKICAgICAgICB7CiAgICAgICAgICAgIHggPSB5OwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgZWxzZSByZXR1cm4gZmFsc2U7CiAgICB9CgoKLyogVGVtcGxhdGUgYnk6IE5ndXllbiBOaGF0IEFuaCBmcm9tIEx1b25nIFZhbiBDaGFuaCBIaWdoIFNjaG9vbCBmb3IgdGhlIGdpZnRlZCAqLwovKiBGcm9tIE1pbiBUdW9pIHdpdGggbG92ZSAqLwogICAgICAgIC8qKiAgICAgICBUUlkgSEFSRCAgICAgICAgKiovCiAgICAgICAgLyoqICAgICAgICAgIE9SWiAgICAgICAgICAqKi8KCi8qIC0tLS0tLS0tLS0tLS0tLS0tWyBNQUlOIENPREUgXS0tLS0tLS0tLS0tLS0tLS0tICovCgppbnQgbiwgbSwgcSwgVDsKaW50IGFbTUFYXTsKaW50IHN0W01BWCA8PCAxXTsgICAgICAgICAgIAp2ZWN0b3I8aW50PiBkZXBbTUFYIDw8IDFdOyAgCmludCByZXF1aXJlZFtNQVhdOwppbnQgcmVzOwoKaW50IGpldHQoaW50IGwsIGludCByLCBpbnQgaSkKewogICAgaW50IGNudCA9IDA7CiAgICBmb3IgKGwgPSBsIC0gMSArIG4sIHIgPSByICsgbjsgbCA8IHI7IGwgPj49IDEsIHIgPj49IDEpIAogICAgewogICAgICAgIGlmIChsICYgMSkgewogICAgICAgICAgICBkZXBbbF0ucGIoaSk7CiAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICBsKys7CiAgICAgICAgfQogICAgICAgIGlmIChyICYgMSkgewogICAgICAgICAgICByLS07CiAgICAgICAgICAgIGRlcFtyXS5wYihpKTsKICAgICAgICAgICAgY250Kys7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGNudDsKfQoKdm9pZCBpbnB1dCgpCnsKICAgIGNpbiA+PiBuID4+IG0gPj4gcSA+PiBUOwogICAgRk9SKGksIDEsIG4pIGNpbiA+PiBhW2ldOwogICAgRk9SKGksIDEsIG0pCiAgICB7CiAgICAgICAgaW50IGwsIHI7IGNpbiA+PiBsID4+IHI7CiAgICAgICAgcmVxdWlyZWRbaV0gPSBqZXR0KGwsIHIsIGkpOwogICAgfQp9Cgp2b2lkIG1vZGlmeShpbnQgaSkKewogICAgcmVxdWlyZWRbaV0tLTsKICAgIGlmICghcmVxdWlyZWRbaV0pIHJlcysrOwp9Cgp2b2lkIGJ1aWxkKCkKewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIAogICAgewogICAgICAgIHN0W24gKyBpXSA9IGFbaSArIDFdOwogICAgfQogICAgCiAgICBmb3IgKGludCBpID0gbiAtIDE7IGkgPiAwOyBpLS0pIAogICAgewogICAgICAgIHN0W2ldID0gc3RbaSA8PCAxXSArIHN0W2kgPDwgMSB8IDFdOwogICAgfQogICAgCiAgICBmb3IgKGludCBpID0gMTsgaSA8IDIgKiBuOyBpKyspIAogICAgewogICAgICAgIGlmICghc3RbaV0pIGZhdSh4LCBkZXBbaV0pIG1vZGlmeSh4KTsKICAgIH0KfQoKdm9pZCB1cGRhdGUoaW50IGkpCnsKICAgIGZvciAoaW50IGlkID0gaSAtIDEgKyBuOyBpZCA+IDA7IGlkID4+PSAxKSAKICAgIHsKICAgICAgICBzdFtpZF0tLTsKICAgICAgICBpZiAoIXN0W2lkXSkgZmF1KHgsIGRlcFtpZF0pIG1vZGlmeSh4KTsKICAgIH0KfQoKdm9pZCBzb2x2ZSgpCnsKICAgIGJ1aWxkKCk7CiAgICB3aGlsZShxLS0pCiAgICB7CiAgICAgICAgaW50IHk7IGNpbiA+PiB5OwogICAgICAgIGludCB4OwogICAgICAgIGlmICghVCkgeCA9IHk7CiAgICAgICAgZWxzZSB4ID0gKChyZXMgKyB5KSAlIG4pICsgMTsKCiAgICAgICAgdXBkYXRlKHgpOwoKICAgICAgICBjb3V0IDw8IHJlcyA8PCAiXG4iOwogICAgfQp9CgpfX1NoaWJhZV9fCnsKICAgIElPUwogICAgLy8gZmlvcGVuKCJzYW5sYXAiKQoKICAgIGNvbnN0IGJvb2wgbXVsdGl0ZXN0ID0gMDsKICAgIGludCB0dCA9IDE7IGlmKG11bHRpdGVzdCkgY2luID4+IHR0OwogCiAgICB3aGlsZSggdHQtLSApewogICAgICAgIGlucHV0KCk7CiAgICAgICAgc29sdmUoKTsKICAgICAgICBpZih0dCkgY291dCA8PCAiXG4iOwogICAgfQogCiAgICByZXR1cm4gMDsKfQo=