#include <stdio.h>
#include <iostream>
#include <iomanip>
#include <math.h>
#include <cstring>
#include <algorithm>
#include <ctype.h>
using namespace std;
bool temp;
long long arr[(int)1e3 + 1];

void swap(long long &x, long long &y){
    int temp;
    temp = x;
    x = y;
    y = temp;
  }
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
//	long long x,y,min,min2;
//	min = 1000000000000;
//	min2 = 1000000000000;
//	cin >> x;
//	for(int i = 1; i <= x; i++){
//		cin >> y;
//		if(y < min){
//			min = y;
//		}else if(y < min2){
//			min2 = y;
//		}
//	}
//	cout << min2 << endl;

//	long long ar[1000000000];
//	for(int i = 0; i < 1005; i++){
//		ar[i] = 0;
//	}
//	long long x;
//	cin >> x;
//	for(int i = 0;i < x; i++){
//		long long y; cin >> y;
//			ar[y]++;
//	}
//	int modus = 0;
//	int max = 0;
//	for(int i = 1; i <= 10000000000; i++){
//		if(max <= ar[i]){
//			max = ar[i];
//			modus = i;
//		}
//	}
//	cout << modus << endl;
	
//	long long x,y,z;
//	long long min = 10000000;
//	z = 0;
//	cin >> x;
//	for(int i = 1; i <= x; i++){
//		cin >> y;
//		ar[i] = y;
//	}
//	for(int i = x-1; i>=0 ; i--){
//		if(ar[i] < min){
//			min = ar[i];
//			z = z + ar[i];
//		}else if (ar[i] > min){
//			min = ar[i];
//			z = z + min;
//			
//		}	
//		
//	}
//	cout << z << endl;

//	long long x,y,z;
//	z = 0;
//		cin >> x;
//	for(int i = 1; i <= x-1;i++){
//		cin >> y;	
//	}
//	for(int i = 1; i <= x-1;i++){
//		ar[i] = i;
//		if(ar[i] != ar[y]){
//			z = ar[i];
//		}
//	}
//	cout << z << endl;

//int calc(int x){
//  int d = 0;
//  while(x > 0){
//    d += x % 10;
//    x /= 10;
//  }
//  return d;
//}
//
//int main() {
//  int a,b,c,d;
//  while(cin >> a){
//    if(a == 0){
//      return 0;
//    }
//    while(a >= 10){
//      a = calc(a);
//    }
//    cout << a << endl;
//  }
//}

//long long a,b,c,d,e,f,g,min;
//  bool temp;
//  temp = true;
//  min = 1000000000;
//  while(cin >> a >> b >> c >> d){
//    
//    for(int i = 1; i <= c; i++){
//      cin >> e;
//      for(int j = 1; j <= d; j++){
//        cin >> f;
//        if(a <= f && b >= a * e){
//          if(min > a * e){
//            min = a * e;
//            temp = true;
//          }
//        }
//        else{
//          temp = false;
//        }
//      }
//    }
//    if(temp == true){
//      cout << min << endl;
//    } 
//    else{
//      cout << "stay home" << endl;
//    }
//  }
//

// int h,d,cnt;
//  double f,tmp,x,u;
//	bool haha;
//  tmp = 0;
//	haha = false;
//	cnt = 0;
//	while(cin >> h >> u >> d >> f){
//		if(h == 0){
//			return 0;
//		}
//    
//    x = f/100 * u;
//		for(int i = 1;i <= 100000; i++){
//			if(i == 1){
//        tmp += u;
//				cnt++;
//			}else if(i > 1){
//        u -= x;
//				if(u >= 0)tmp += u;
//				cnt++;
//			}
//
//      if(tmp > h){
//			  haha = true;
//        break;
//			}
//
//      tmp -= d;
//
//      if(tmp < 0){
//        break;
//      }
//
//		}
//
//    if(haha == true){
//      cout << "success on day " << cnt << endl;
//    }else{
//      cout << "failure on day " << cnt << endl;
//    }
//
//		haha = false;
//		cnt = 0;
//    tmp = 0;
//	}
//  int x,y,z,a;
//  a = 0;
//  bool temp;
//  temp = true;
//  string w;
//  while(cin >> w){
//    a++;
//    cout << "Case " << a << ":" << endl;
//    cin >> x;
//    for(int i = 1; i <= x; i++){
//      cin >> y >> z;
//      if(z > y){
//        for(int j = y; j < z; j++){
//          if(w[j] != w[j + 1]){
//            temp = false;
//            break;
//          }
//        }
//      }else{
//        for(int k = z; k < y; k++){
//          if(w[k] != w[k + 1]){
//            temp = false;
//            break;
//          }
//        }
//      }
//      if(temp == true){
//        cout << "Yes" << endl;
//      }else{
//        cout << "No" << endl;
//      }
//      temp = true;
//    }
//  }


//	int price[256];
//
//int main(){
//  int n,k,x;
//  double cnt, m;
//  cnt = 0;
//  string z;
//  char a;
//  cin >> n;
//  for(int o = 1; o <= n; o++){
//    cin >> k;
//    for(int j = 1; j <= k;j++){
//      cin >> a >> m;
//      price[a] = m;
//    }
//    cin >> x; cin.ignore();
//    
//    for(int i = 1; i <= x ;i++){
//      getline(cin,z);
//      
//      for(int j = 0; j < z.length(); j++){
//        cnt += price[z[j]];
//      }
//    }
//    cnt = cnt / 100;  
//    
//    cout << fixed << setprecision(2) << cnt << "$" << endl;
//    cnt = 0;
//    for(int a = 0;a < 256; a++){
//      price[a] = 0;
//    }
//  }
//  
//
//int x,r,s;
//  // Big O Notation
//
//  // Kompleksitas = O(N^3)
//
//  // O(x * MAXS * r) cari jawaban
//	cin >> x;
//	for(int i = 1;i <= x;i++){
//    int min = 1e9;
//		cin >> r;
//		for(int k = 1; k <= r;k++){
//			cin >> s;
//			ar[k] = s;
//		}
//
//    for(int j =1; j <= 30000; j++){
//      // Ini kan berarti rumah vito sekarang di j
//      // Harus cari tau dari j ke rumah 1, 2, 3, ... ,r
//      // jaraknya masing-masing berapa terus ditotal
//
//      int sumDist = 0; // Buat nyimpen total jarak ke semua rumah
//
//      for(int k = 1; k <= r; ++k){ // Cek ke semua tetangga2nya
//        sumDist += abs(j - ar[k]);
//        // Tambahin jarak dari rumah sekarang ke tetangga ke-k
//      }
//
//      if(min > sumDist){
//        min = sumDist;
//      }
//    }
//
//    cout << min << endl;
//	}

//string x;
//  cin >> x;
//  for(int i = 0; i <= x.length() - 1; ++i){
//    x[i] = tolower(x[i]);
//    if(x[i] == 'a' || x[i] == 'o' ||x[i] == 'y'||x[i] == 'e'||x[i] == 'u'||x[i] == 'i'){
//      continue;
//    }else{ 
//      cout << "." << x[i];
//    }
//  }
//  cout << endl;
//}
//	int a,cnt;
//  cnt = 0;
//  for(int i = 0;i < 4; i++){
//    cin >> a;
//    ar[i] = a;
//  }
//  for(int i = 0; i < 4; i++){
//    if(ar[i] == ar[i+1]|| ar[i] == ar[i+2] || ar[i] == ar[i+3]){
//      cnt++;
//    }
//  }
//  cout << cnt << endl;
//
//long long x,y,temp,cnt;
//bool idk;
//idk = true;
//  cin >> x;
//  cin >> y;
//  temp = y;
//  for(int i = 2; i <= x; i++){
//    cin >> y;
//    if(temp == y){
//      idk = false;
//      break;
//    }else if(temp > y){
//      temp = y;
//      cnt = i;
//    }
//    }
//    if(idk == true){
//    	cout << cnt << endl;
//	}else{
//		cout << "Still Rodzilla" << endl;
//	}

//int x,y;
//  for(int i = 1; i <= 3; i++){
//    for(int j = 1; j <= 3; j++){
//      arr[i][j] = 1;
//    }
//  }
//  for(int i = 1; i <= 3; i++){
//    for(int j = 1; j <= 3; j++){
//      cin >> x;
//      arr[i][j] += x;
//      arr[i+1][j] += x;
//      arr[i-1][j] += x;
//      arr[i][j+1] += x;
//      arr[i][j-1] += x;
//    }
//  }
//  for(int i = 1; i <= 3;i++){
//    for(int j = 1; j <= 3; j++){
//      arr[i][j] = arr[i][j] % 2;
//      cout << arr[i][j];
//    }
//    cout << endl;
//  }

// floodfill
//const int N = 100;
//char grid[N + 5][N + 5];
//bool vis[N + 5][N + 5];
//int dx[4] = {0, 1, 0, -1};
//int dy[4] = {1, 0, -1, 0};
//int n, m;		
//
//bool inRange(int x, int y){
//  return x >= 0 && y >= 0 && x < n && y < m;
//}
//
//void floodfill(int x, int y){
//  if(vis[x][y])return; // udah pernah dibanjirin
//  vis[x][y] = true;
//
//  for(int i = 0; i < 4; ++i){
//    int nx = x + dx[i];
//    int ny = y + dy[i];
//    if(inRange(nx, ny) && grid[nx][ny] == '.')
//      floodfill(nx, ny);
//  }
//  
//}
//
//int main() {
//  ios::sync_with_stdio(false);
//  cin.tie(0); cout.tie(0);
//  cin >> n >> m;
//
//  for(int i = 0; i < n; ++i){
//    for(int j = 0; j < m; ++j){
//      cin >> grid[i][j];
//    }
//  }
//
//  int ans = 0;
//  for(int i = 0; i < n; ++i){
//    for(int j = 0; j < m; ++j){
//      if(grid[i][j] == '#')continue;
//      if(vis[i][j])continue;
//
//      floodfill(i, j);
//
//      ans++;
//    }
//  }
//
//  cout << ans << endl;
//  
//}

//int x,y;
//  cin >> x;
//  for(int i = 0; i < x; i++){
//    cin >> y;
//    arr[i] = y;
//  }
//  for(int i = 0; i < x - 1; i++){
//    for(int j = 0; i < x-j-1; j++){
//      if(arr[j] > arr[j+1]){
//        swap(arr[j],arr[j+1]);
//        temp = true;
//      }
//      }
//    if(temp == false){
//    	break;
//    }
//  }
//  for(int i = 0; i < x; i++){
//    cout << arr[i] << endl;
//  }
//  }

	int a,b,c,cnt;
	cin >> a >> b >> c;
	if(b / a > c){
		cout << c << endl;
	}else{
		cout << b/a << endl;
	}
	
}




Measured memory_bytes: 256