> 
> Given an array of integers which are needed to be split into four
>  boxes such that sum of XOR's of the boxes is maximum.
> 
> 
> I/P -- [1,2,1,2,1,2]
> 
> 
> O/P -- 9
> 
> 
> Explanation: Box1--[1,2]
>  Box2--[1,2]
>  Box3--[1,2]
>  Box4--[]
> 
> 
> I've tried using recursion but failed for larger test cases as the
>  Time Complexity is exponential. I'm expecting a solution using dynamic
>  programming. 
> 
> 
> 
> ```
> def max_Xor(b1,b2,b3,b4,A,index,size):
>     if index == size:
>         return b1+b2+b3+b4  
>     m=max(max_Xor(b1^A[index],b2,b3,b4,A,index+1,size),
>         max_Xor(b1,b2^A[index],b3,b4,A,index+1,size),
>         max_Xor(b1,b2,b3^A[index],b4,A,index+1,size),
>         max_Xor(b1,b2,b3,b4^A[index],A,index+1,size))
> return m
> def main():
>     print(max_Xor(0,0,0,0,A,0,len(A)))
> 
> ```
> 
> 

Thanks in Advance!!