#include <iostream>
#include <vector>
using namespace std;
enum shift_dir { POSITIVE = 1, NEGATIVE = -1 };
int main() {
int index = 0;
vector<int> v = {1,2,3,4};
auto dir = shift_dir::NEGATIVE;
index = (index + dir) % v.size();
cout << index << endl;
index = (index + dir) % v.size();
cout << index << endl;
index = (index + dir) % v.size();
cout << index << endl;
index = (index + dir) % v.size();
cout << index << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKZW51bSBzaGlmdF9kaXIgeyBQT1NJVElWRSA9IDEsIE5FR0FUSVZFID0gLTEgfTsKCQppbnQgbWFpbigpIHsKCQogICAgaW50IGluZGV4ID0gMDsKICAgIHZlY3RvcjxpbnQ+IHYgPSB7MSwyLDMsNH07CiAgICAKICAgIGF1dG8gZGlyID0gc2hpZnRfZGlyOjpORUdBVElWRTsKICAgIAogICAgaW5kZXggPSAoaW5kZXggKyBkaXIpICUgdi5zaXplKCk7CiAgICBjb3V0IDw8IGluZGV4IDw8IGVuZGw7CiAgICAKICAgIGluZGV4ID0gKGluZGV4ICsgZGlyKSAlIHYuc2l6ZSgpOwogICAgY291dCA8PCBpbmRleCA8PCBlbmRsOwoKICAgIGluZGV4ID0gKGluZGV4ICsgZGlyKSAlIHYuc2l6ZSgpOwogICAgY291dCA8PCBpbmRleCA8PCBlbmRsOwoKICAgIGluZGV4ID0gKGluZGV4ICsgZGlyKSAlIHYuc2l6ZSgpOwogICAgY291dCA8PCBpbmRleCA8PCBlbmRsOwoKCXJldHVybiAwOwp9