#include <iostream>
using namespace std;
#include<vector>
#include <bits/stdc++.h>

int main() {
	// your code goes here
	
	vector<int>arr={2,1,4,3,2,1,1,4};
	int n=arr.size();
	int l,r;
	cin>>l>>r;
	int shortest_length=INT_MAX;
	int current_length;
	int i=0,j=0;
	 unordered_map<int,int>mp;
	 while(i<n && j<n)
	  {
	  	
	  	if(arr[j]>=l && arr[j]<=r)
	  	 {
	  	 	mp[arr[j]]++;
	  	 }
	  	 
	  	 if(mp.size()==abs(r-l+1))
	  	  {
	  	  	shortest_length=min(shortest_length,abs(j-i+1));
	  	  
	  	  
	  	 
	  	   if(arr[i]>=l && arr[i]<=r)
	  	   	{
	  	   		mp[arr[i]]--;
	  	    	if(mp[arr[i]]==0)
	  	   	   {
	  	   	  	mp.erase(arr[i]);
	  	   	   }
	  	   	   
	  	   	}
	  	   	i++;
	  	   	 if(arr[j]>=l && arr[j]<=r)
	  	   	  {
	  	   	  	mp[arr[j]]--;
	  	   	  }
	  	   	  
	  	  } 
	  	   	  
	  	   	  else
	  	   	   {
	  	   	   	j++;
	  	   	   }
	  	   	  
	  	   	 
	  	   }
	  	 
	  	 if(shortest_length==INT_MAX)
	  	  {
	  	  	cout<<-1;
	  	  	
	  	  }
	  	  else
	  	   {
	  	   	cout<<shortest_length;
	  	   }
	  	 
	  
	  	  
	
	return 0;
}