#include using namespace std; using Int = long long; const char newl = '\n'; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a void drop(const T &x){cout< vector read(size_t n){ vector ts(n); for(size_t i=0;i>ts[i]; return ts; } //INSERT ABOVE HERE signed main(){ cin.tie(0); ios::sync_with_stdio(0); Int n; cin>>n; auto as=read(n); auto bs=read(n); using P = pair; vector

vp; for(Int i=0;i cnt(n,0); auto expand=[&](Int i){ if(++cnt[vp[i].second]==1) num++; }; auto shrink=[&](Int i){ if(--cnt[vp[i].second]==0) num--; }; Int ans=1e18; for(Int i=0,j=0;i<(Int)vp.size();i++){ while(num!=n and j<(Int)vp.size()) expand(j++); if(num!=n) break; chmin(ans,vp[j-1].first-vp[i].first); shrink(i); } cout<