threading @ 2023-03-20 21:55:05
#include <bits/stdc++.h>
using namespace std;
int n,q;
const int N=1e5+10;
int h[N],e[N],ne[N],idx;
long long w[N];
void add(int a,int b,int c){
e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++;
}
int main()
{
memset(h,-1,sizeof h);
cin>>n>>q;
while(q--){
int op,i,j;
long long k;
scanf("%d",&op);
if(op==1){
scanf("%d %d %lld",&i,&j,&k);
add(i,j,k);
}else{
scanf("%d %d",&i,&j);
for(int k=h[i];k!=-1;k=ne[k]){
if(e[k]==j){
printf("%d\n",w[k]);
}
}
}
}
return 0;
}