#include <bits/stdc++.h>
using namespace std;
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n, q; cin >> n >> q;
int pos1 = 0, pos2 = 1;
while (q--) {
int type; cin >> type;
if (type == 1) {
int x; cin >> x;
pos1 = (pos1 + (x + n) % n) % n;
pos2 = (pos2 + (x + n) % n) % n;
}
else {
pos1 ^= 1;
pos2 ^= 1;
}
}
vector<int> ans(n);
ans[pos1] = 1;
ans[pos2] = 2;
int noww = 3;
for (int i = (pos1 + 2) % n; i != pos1; i = (i + 2) % n) {
ans[i] = noww;
noww += 2;
}
noww = 4;
for (int i = (pos2 + 2) % n; i != pos2; i = (i + 2) % n) {
ans[i] = noww;
noww += 2;
}
for (auto& u : ans) cout << u << ' ';
cout << '\n';
return 0;
}/*1691156894.4127584*/
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |
21. Merge Two Sorted Lists | 203. Remove Linked List Elements |
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |