#include<bits/stdc++.h>
#define ll long long int
#define MOD 1000000007
#define ff first
#define ss second
#define pb push_back
#define ios ios_base::sync_with_stdio(false)
#define mem(a) memset(a,0,sizeof(a));
using namespace std;
ll a[100010];
vector<ll> v;
int main()
{
ios;
ll n,d,ch,x,y;
cin>>n>>d;
ll ans=INT_MIN, ind=-1;
v.clear();
for(ll i=1; i<=n; i++)
{
cin>>a[i];
if(a[i]>ans)
{
ans=a[i];
v.clear();
v.pb(i);
}
else if(a[i]==ans)
{
v.pb(i);
}
}
while(d--)
{
cin>>ch>>x>>y;
if(ch==1)
{
a[x]+=y;
if(a[x]>ans)
{
ans=a[x];
v.clear();
v.pb(x);
}
else if(a[x]==ans)
{
v.pb(x);
}
}
else if(ch==2)
{
if(a[x]!=a[y])
{
if(a[x]>a[y])
{
if(ans==a[x])
{
ans+=a[y];
}
a[x]+=a[y];
if(a[x]>ans)
ans=a[x];
a[y]=0;
}
else
{
if(ans==a[y])
{
ans+=a[x];
}
a[y]+=a[x];
if(a[y]>ans)
ans=a[y];
a[x]=0;
}
}
}
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGlvcyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKQojZGVmaW5lIG1lbShhKSBtZW1zZXQoYSwwLHNpemVvZihhKSk7Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbGwgYVsxMDAwMTBdOwp2ZWN0b3I8bGw+IHY7CgppbnQgbWFpbigpCnsKCWlvczsKCWxsIG4sZCxjaCx4LHk7CgljaW4+Pm4+PmQ7CglsbCBhbnM9SU5UX01JTiwgaW5kPS0xOwoJdi5jbGVhcigpOwoJZm9yKGxsIGk9MTsgaTw9bjsgaSsrKQoJewoKCQljaW4+PmFbaV07CgkJaWYoYVtpXT5hbnMpCgkJewoJCQlhbnM9YVtpXTsKCQkJdi5jbGVhcigpOwoJCQl2LnBiKGkpOwoJCX0KCQllbHNlIGlmKGFbaV09PWFucykKCQl7CgkJCXYucGIoaSk7CgkJfQoJfQoJCgl3aGlsZShkLS0pCgl7CgkJY2luPj5jaD4+eD4+eTsKCQlpZihjaD09MSkKCQl7CgkJCWFbeF0rPXk7CgkJCWlmKGFbeF0+YW5zKQoJCQl7CgkJCQlhbnM9YVt4XTsKCQkJCXYuY2xlYXIoKTsKCQkJCXYucGIoeCk7CgkJCX0KCQkJZWxzZSBpZihhW3hdPT1hbnMpCgkJCXsKCQkJCXYucGIoeCk7CgkJCX0KCQl9CgkJZWxzZSBpZihjaD09MikKCQl7CgkJCWlmKGFbeF0hPWFbeV0pCgkJCXsKCQkJCWlmKGFbeF0+YVt5XSkKCQkJCXsKCQkJCQlpZihhbnM9PWFbeF0pCgkJCQkJewoJCQkJCQkKCQkJCQkJYW5zKz1hW3ldOwoJCQkJCX0KCQkJCQlhW3hdKz1hW3ldOwoJCQkJCWlmKGFbeF0+YW5zKQoJCQkJCQlhbnM9YVt4XTsKCQkJCQlhW3ldPTA7CgkJCQkJCgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJaWYoYW5zPT1hW3ldKQoJCQkJCXsKCQkJCQkJCgkJCQkJCWFucys9YVt4XTsKCQkJCQl9CgkJCQkJYVt5XSs9YVt4XTsKCQkJCQlpZihhW3ldPmFucykKCQkJCQkJYW5zPWFbeV07CgkJCQkJYVt4XT0wOwoJCQkJfQoJCQl9CgkJfQoJCWNvdXQ8PGFuczw8ZW5kbDsKCX0KCXJldHVybiAwOwp9