#include<iostream>
#include<algorithm>
using namespace std;
#define INF 2147483647
int tree[262144];

void update(int x,int i){
  i+=(131072-1);
  tree[i]=x;
  while(i){
    i=(i-1)/2;
    tree[i]=min(tree[i*2+1],tree[i*2+2]);
  }
}

int find(int a,int b,int n,int l,int r){
  if(r<=a  || l>=b) return INF;
  if(a<=l && r<=b) return tree[n];
  int m=(l+r)/2;
  return min(find(a,b,n*2+1,l,m),find(a,b,n*2+2,m,r));
}

int main(){
  int n,q,a,b,c;
  cin>>n>>q;
  for(int i=0;i<n;i++) update(INF,i);
  for(int i=0;i<q;i++){
    cin>>a>>b>>c;
    if(a==1){
      cout<< find(b,c+1,0,0,131072)<<endl;
    }
    else update(c,b);
  }
  return 0;
}