using System;
using System.Collections.Generic;

namespace Dva_niza
{
	class Program
	{
		static int Max(List<int> l)
		{
			int max=l[0];
			for(int i=0;i<l.Count;i++)
			{
				if(max<l[i])
				{
					max=l[i];
				}
			}
			return max;
		}
		public static void Main(string[] args)
		{
			int j=0,k=0,R=1,rez=0;
			int N=int.Parse(Console.ReadLine());
			string[] red1=Console.ReadLine().Split();
			string[] red2=Console.ReadLine().Split();
			int[] A=new int[N+1];
			int[] B=new int[N+1];
			List<int> l=new List<int>{};
			for(int i=1;i<=N;i++)
			{
				A[i]=int.Parse(red1[j]);
				j++;
			}
			for(int i=1;i<=N;i++)
			{
				B[i]=int.Parse(red2[k]);
				k++;
			}
			int XOR=0;
			int AND=B[N];
			for(int u=1;u<=N;u++)
			{
				for(int i=u;i<=N;i++)
				{	
					XOR=0;
					AND=B[N];
					for(int m=u;m<=i;m++)
					{
						XOR=XOR^A[m];
						AND=AND&B[m];
					}
					rez=XOR*AND;
					l.Add(rez);
				}
			}
			Console.WriteLine(Max(l));
			Console.ReadKey(true);
		}
	}
}