def prime(max) m=max s=[1]*x=(m-3)/2 (0..(m**0.5-3)/2).each{|i|s[i]&&(k=i+i+3;j=k*(i+1)+i;(s[j]=nil;j+=k)until j>x)} [2]+(0...x).map{|i|s[i]&&i+i+3}.compact end gets a=gets.split max=5000000 start=1 rest=a ans=-1 prime(max).each{|i| l=i.to_s.chars.to_a if (l-a)[0] ans=i-1-start if rest==[] && ans