显示原始代码
#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (int i = (a), i##_end = (b); i <= i##_end; i++)
#define per(i, b, a) for (int i = (b), i##_st = (a); i >= i##_st; i--)
#define x first
#define y second
#define pb push_back
#define mp make_pair
#define debug(x) cerr << #x " = " << x << endl
#define Debug(...) fprintf(stderr, __VA_ARGS__)
#define Es(x, i) for (Edge *i = G[x]; i; i = i->nex)
typedef pair<int, int> pii;
typedef long long ll;
const int inf = ~0u >> 1, MOD = 1e9 + 7;
inline int rd() {
int x = 0, c = 0, f = 1;
for (; c < '0' || c > '9'; c = getchar()) f = c != '-';
for (; c >= '0' && c <= '9'; c = getchar()) x = x * 10 + c - '0';
return f ? x : -x;
}
const int N = 1e5 + 11;
int n, L, T;
int p[N];
int main() {
n = rd(), L = rd(), T = rd();
int tot = 0;
rep(i, 1, n) {
p[i] = rd() + (rd() == 0 ? T : -T);
tot += p[i] / L;
tot %= n;
p[i] %= L;
tot -= p[i] < 0;
p[i] += p[i] < 0 ? L : 0;
}
sort(p + 1, p + n + 1);
rep(i, 1, n) printf("%d\n", p[(i + tot - 1 + n) % n + 1]);
}