#include <cstdio>
#include <algorithm>

using namespace std;

int n, m;
struct P{ int x, y ,z; } s[30303];

bool cmp1(P a, P b){ return a.x < b.x; }
bool cmp2(P a, P b){ return a.x > b.x; }
bool cmp3(P a, P b){ return a.y < b.y; }
bool cmp4(P a, P b){ return a.y > b.y; }
bool cmp5(P a, P b){ return a.z < b.z; }
bool cmp6(P a, P b){ return a.z > b.z; }

int main(){
    for(int i = 1 ; i <= 12 ; i++ )
    {
        char in[100], out[100];
        sprintf(in, ".%d.in", i);
        sprintf(out, ".%d.out", i);
        freopen(in, "r", stdin);
        freopen(out, "w", stdout);
        scanf("%d", &n);
        for(int i = 0 ; i < n ; i++ )
            scanf("%d %d %d", &s[i].x, &s[i].y, &s[i].z);
        scanf("%d", &m);
        switch( m )
        {
            case 1 : sort(s, s+n, cmp1); break;
            case 2 : sort(s, s+n, cmp2); break;
            case 3 : sort(s, s+n, cmp3); break;
            case 4 : sort(s, s+n, cmp4); break;
            case 5 : sort(s, s+n, cmp5); break;
            case 6 : sort(s, s+n, cmp6); break;
        }
        for(int i = 0 ; i < n ; i++ )
            printf("%d %d %d\n", s[i].x, s[i].y, s[i].z);
    }
}
