#include <bits/stdc++.h>
#define rep(i ,n) for(int i=0;i<(int)(n);++i)
using namespace std;
typedef long long int int64;
typedef unsigned long long uint64;

int main(){
    int n, q; cin >> n >> q;
    vector<stack<int>> a(n);
    rep(i , q){
        int s , t , value;
        cin >> s;
        if( s == 0 ){
            cin >> t >> value;
            a[t].push(value);
        } else if ( s == 1 ){
            cin >> t;
            if(a[t].empty()) continue;
            cout << a[t].top() << endl;
        } else {
            cin >> t;
            if(a[t].empty()) continue;
            a[t].pop();
        }
    }
}
