#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pb push_back
#define fi first
#define se second
typedef pair<ll,ll> P;
using VP = vector<P>; using VVP = vector<VP>;
using VI = vector<int>; using VVI = vector<VI>; using VVVI = vector<VVI>;
const int inf=1e9+7;
const ll INF=1LL<<61;
const ll mod=1e9+7;


int main(){
  int i,j;
  int n;
  cin>>n;
  ll a[n],b[n],aa[n],bb[n];
  for(i=0;i<n;i++) cin>>a[i];
  for(i=0;i<n;i++) cin>>b[i];
  for(i=0;i<n;i++){
    aa[i]=a[i]^a[(i+1)%n];
    bb[i]=b[i]^b[(i+1)%n];
  }
  
  VI S(3*n);
  for(i=0;i<n;i++){
    S[i]=bb[i];
    S[i+n]=aa[i];
    S[i+2*n]=aa[i];
  }

  VI A(3*n,0);

  A[0]=3*n;

  i = 1, j = 0;
  while (i < 3 * n) {
    while (i+j < 3 * n && S[j] == S[i+j]) ++j;
    A[i] = j;
    if (j == 0) { ++i; continue;}
    int k = 1;
    while (i+k < 3 * n && k+A[k] < j) A[i+k] = A[k], ++k;
    i += k; j -= k;
  }

  for(i=0;i<n;i++){
    if(A[i+n]>=n){
      cout<<i<<" "<<(a[i]^b[0])<<endl;
    }
  }
  return 0;
}
