#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
#define INF 2147483647
vector<int> a(300000,INF);
int n,si;
void update(int,int);
int find(int,int,int,int,int);

int main(){
  int q,f;
  si=1;
  cin >> n >> q;
  for(int i=0;;i++){
    si*=2;
    if(si>=n)break;
  }

  for(int i=0;i<q;i++){
    cin >> f;
    if(f==0){
      int po,d;
      cin >> po >> d;
      update(po,d);
    }
    else{
      int st,go,mi;
      cin >> st >> go;
      mi=find(st,go+1,0,0,si);
      cout << mi << endl;
    }
  }
  return 0;
}
void update(int p,int d){
  int ko;
  ko=si-1+p;
  a[ko]=d;
  while(ko>0){
    ko=(ko-1)/2;
    a[ko]=min(a[ko*2+1],a[ko*2+2]);
  }
}
int find(int s,int t,int k,int l,int r){
  int m=(l+r)/2;
  if(s<=l&&r<=t){
    return a[k];
  }
  else if(r<=s||t<=l)return INF;
  
  return min(find(s,t,k*2+1,l,m),find(s,t,k*2+2,m,r));
}