#include <iostream>
#include <stack>


using namespace std;

const int N = 1000;

int main()
{
	stack<int> S[N];
	int n, q;
	cin >> n >> q;
	
	while (q--)
	{
		int d, t;
		cin >> d >> t;
		if (d == 0)
		{
			int x;
			cin >> x;
			S[t].push(x);
		}
		else if (d == 1)
		{
			if (!S[t].empty())
				cout << S[t].top() << endl;
		}
		else
		{
			if (!S[t].empty())
				S[t].pop();
		}
	}
}
