#include<iostream>
#include<vector>
#include<cassert>
using namespace std;
int N,K,Q;
vector<string>A;
string T[6];
int D[6];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>N>>K>>Q;
	for(;Q--;)
	{
		int op;cin>>op;
		if(op==1)
		{
			string s;cin>>s;
			A.push_back(s);
		}
		else
		{
			for(int i=0;i<6;i++)cin>>T[i]>>D[i];
			int k=0;
			int rest=60;
			while(k<6)
			{
				bool fn=false;
				for(int i=0;i<N&&i<A.size();i++)if(A[A.size()-i-1]==T[k])fn=true;
				int d=D[k];
				if(fn)d=min(d,K);
				if(rest>=d)
				{
					rest-=d;
					k++;
				}
				else break;
			}
			cout<<k<<"\n";
			for(int i=0;i<k;i++)A.push_back(T[i]);
		}
	}
}