#include <iostream>
#include<bits/stdc++.h>

using namespace std;

int main() {
	// your code goes here
	int n,l,r;
	cin>>n>>l>>r;
	vector<int> arr(n);
	unordered_map<int,int> mpp;

	for(int i=0;i<n;i++){
		cin>>arr[i];
	}
	int a = r-l+1;
	int i=0;
	int j=0;
	int ans = INT_MAX;
	
	while(i<n && j<n){
	   if(arr[j]>=l && arr[j]<=r){
			mpp[arr[j]]++;
		}
		
		while(mpp.size()==a){
			ans = min(ans,j-i+1);
		if(arr[i]>=l && arr[i]<=r){
			mpp[arr[i]]--;
			if(mpp[arr[i]]==0){
				mpp.erase(arr[i]);
			}
		}
			i++;
		}
		
		j++;
	}
	cout<<ans<<endl;
	return 0;
}