#include <bits/stdc++.h>
using namespace std;
//
const int maxn = 1e5;
//
int n, k, d, pos[maxn], nxt[maxn][31];
//
void process (void)
{
cin >> n >> k >> d;
iota(pos, pos + n, 0);
for (int l, r; k > 0; --k)
{
cin >> l >> r;
--l, --r;
while (l < r)
swap(pos[l++], pos[r--]);
}
for (int i = 0; i < n; ++i)
nxt[i][0] = pos[i];
for (int j = 1; j < 31; ++j)
for (int i = 0; i < n; ++i)
nxt[i][j] = nxt[nxt[i][j - 1]][j - 1];
iota(pos, pos + n, 0);
for (int j = 0; j < 31; ++j)
if (d >> j & 1)
for (int i = 0; i < n; ++i)
pos[i] = nxt[pos[i]][j];
for (int i = 0; i < n; ++i)
cout << pos[i] + 1 << ' ';
}
//
signed main (void)
{
ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
process();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vCmNvbnN0IGludCBtYXhuID0gMWU1OwovLwppbnQgbiwgaywgZCwgcG9zW21heG5dLCBueHRbbWF4bl1bMzFdOwovLwp2b2lkIHByb2Nlc3MgKHZvaWQpCnsKICAgIGNpbiA+PiBuID4+IGsgPj4gZDsKICAgIGlvdGEocG9zLCBwb3MgKyBuLCAwKTsKICAgIGZvciAoaW50IGwsIHI7IGsgPiAwOyAtLWspCiAgICB7CiAgICAgICAgY2luID4+IGwgPj4gcjsKICAgICAgICAtLWwsIC0tcjsKICAgICAgICB3aGlsZSAobCA8IHIpCiAgICAgICAgICAgIHN3YXAocG9zW2wrK10sIHBvc1tyLS1dKTsKICAgIH0KICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgICAgbnh0W2ldWzBdID0gcG9zW2ldOwogICAgZm9yIChpbnQgaiA9IDE7IGogPCAzMTsgKytqKQogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQogICAgICAgICAgICBueHRbaV1bal0gPSBueHRbbnh0W2ldW2ogLSAxXV1baiAtIDFdOwogICAgaW90YShwb3MsIHBvcyArIG4sIDApOwogICAgZm9yIChpbnQgaiA9IDA7IGogPCAzMTsgKytqKQogICAgICAgIGlmIChkID4+IGogJiAxKQogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKICAgICAgICAgICAgICAgIHBvc1tpXSA9IG54dFtwb3NbaV1dW2pdOwogICAgICAgICAgICAgICAgCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKICAgICAgICBjb3V0IDw8IHBvc1tpXSArIDEgPDwgJyAnOwp9Ci8vCnNpZ25lZCBtYWluICh2b2lkKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSwgY2luLnRpZShudWxscHRyKSwgY291dC50aWUobnVsbHB0cik7CiAgICBwcm9jZXNzKCk7Cn0K