#include <bits/stdc++.h>
using namespace std;

int H, W, N;
pair<int, int> bar[200010];
int g[200010], h[200010], ans[200010];

int f(int x, int y) {
    if (y == 0) {
        return x;
    } else if (y >= 2 * W) {
        return f(x, y % (2 * W));
    } else if (x % 2 != y % 2) {
        if (x == W - 1) return f(x, y - 1);
        else return f(x + min(W - 1 - x, y), y - min(W - 1 - x, y));
    } else {
        if (x == 0) return f(x, y - 1);
        else return f(x - min(x, y), y - min(x, y));
    }
}

int main() {
    while (cin >> H >> W >> N) {
        for (int i = 0; i < N; i++) {
            cin >> bar[i].first >> bar[i].second;
            --bar[i].first;
            --bar[i].second;
        }
        sort(bar, bar + N);
        iota(g, g + W, 0);
        for (int i = 0; i < N; i++) {
            int y, x;
            tie(y, x) = bar[i];
            int a = f(x, y);
            int b = f(x + 1, y);
            swap(g[a], g[b]);
        }
        for (int i = 0; i < W; i++) {
            ans[g[f(i, H)]] = i;
        }
        for (int i = 0; i < W; i++) {
            cout << ans[i] + 1 << '\n';
        }
    }
}