#include<bits/stdc++.h>
using namespace std;
const int MAXN=2e6+69;
int it[MAXN],dis[MAXN],child[MAXN][22],cnt=0;
char c[MAXN];
void Init() {}
void TypeLetter(char L)
{
	cnt++,c[cnt]=L,dis[cnt]=dis[it[cnt-1]]+1,child[cnt][0]=it[cnt-1],it[cnt]=cnt;
	for(int i=1;i<=20;i++) child[cnt][i]=child[child[cnt][i-1]][i-1];
}
void UndoCommands(int U)
{
	it[cnt+1]=it[cnt-U],cnt++;
}
char GetLetter(int P)
{
	int k=dis[it[cnt]]-P-1,pos=it[cnt];
	for(int i=20;i+1;i--) if(k&(1<<i)) pos=child[pos][i];
	return c[pos];
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |