#include<bits/stdc++.h>
using namespace std;
#define MAX 2147483647

int n,q,dat[1000000],r;
int N;

void init(int n){
  N=1;
  while(1){
    if(N >= n) return;
    N *= 2;
  }
}

void update(int i,int x){
  i += N-1;
  dat[i] = x;

  while(i>0){
    i=(i-1)/2;
    dat[i] = min(dat[i*2+1],dat[i*2+2]);
  }
}

int find(int s,int t,int k,int l,int r){
  if( t < l || r < s) return MAX;
  if(s <= l && r <= t) return dat[k];
  else{
    int vl = find(s,t,k*2+1,l,(l+r)/2);
    int vr = find(s,t,k*2+2,(l+r)/2+1,r);
    return min(vl,vr);
  }
}

int main(){
  scanf("%d %d",&n,&q);
  init(n);
  for(int i=0;i<2*N-1;i++) dat[i] = MAX;

  int x,y;
  for(int i=0;i<q;i++){
    scanf("%d %d %d",&r,&x,&y);
    if(r == 0){
      update(x,y);
    }
    else{
      printf("%d\n",find(x,y,0,0,N-1));
    }
  }
  return 0;
}

