import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws NumberFormatException, IOException{ ContestScanner in = new ContestScanner(); int n = in.nextInt(); long[] a = new long[n]; // PriorityQueue qu = new PriorityQueue(); long and = 0xffffffff; long or = 0; for(int i=0; i 0){ tmp >>= 1; j++; } j--; tmp = 0xffffffff; while(j >= 0){ tmp <<= 1; j--; } // System.err.println(~tmp); xor |= and; xor &= ~or & ~tmp; long max = 0; for(int i=0; i max) max = res; } System.out.println(max); // while(!qu.isEmpty()){ // long val = qu.poll(); // long next = qu.peek(); // // } } } class MyComp implements Comparator{ public int compare(int[] a, int[] b) { return a[0] - b[0]; } } // //class Reverse implements Comparator{ // public int compare(Integer arg0, Integer arg1) { // return arg1 - arg0; // } //} class Node implements Comparable{ int id; int qNum; int xor; List edge = new ArrayList(); public Node(int id, int q, int xor){ this.id = id; qNum = q; this.xor = xor; } public void createEdge(Node node){ edge.add(node); } @Override public int compareTo(Node n) { return n.qNum - qNum; } } class MyMath{ public final static double PIhalf = Math.PI/2.0; public static double pAngle(double x, double y){ // ベクトル(1, 0)と(x, y)とのなす角を返す(rad:0 to 2pi) if(x == 0){ if(y == 0){ System.err.println("pAngle error: zero vector."); return 0; }else if(y < 0){ return PIhalf*3.0; }else{ return PIhalf; } } double rad = Math.atan(y/x); if(rad < 0){ rad += Math.PI*2.0; } return rad; } public static long fact(long n){ long res = 1; while(n > 0){ res *= n--; } return res; } public static long[][] pascalT(int n){ long[][] tri = new long[n][]; for(int i=0; i