#include <cstdlib>
#include <cstdio>

const int MaxN = 100010;
const int MaxM = 100010;

int n, m, a, b, x[MaxN], sol[MaxM];
int startIndex;

int main() {

	FILE* inFile = fopen("upiti.in", "r");
	FILE* outFile = fopen("upiti.out", "w");

	fscanf(inFile, "%d%d", &n, &m);

	// indeksiramo niz od 0 jer je tako lakse
	for (int i = 0; i < n; i++)
		fscanf(inFile, "%d", &x[i]);

	startIndex = 0;

	for (int i = 0; i < m; i++) {
		fscanf(inFile, "%d%d", &a, &b);
		if (a == 1)
			startIndex = (startIndex + b) % n;
		else
			fprintf(outFile, "%d\n", x[(startIndex + b - 1) % n]);
	}

	fclose(inFile);
	fclose(outFile);
}