Suppose you have array arr[N] of increasing numbers. You have to divide it in two other (Left and Right):

```
L = {0, 2, 4, 6, 8, 10, ...}

R = {1, 3, 5, 7, 9, 11, ...}

```

The following algorithm does this:

```
for ( i = 0; i < (N / 2) ; i++ )
    {
        L[i] = arr[2 * i + 0];
        R[i] = arr[2 * i + 1];
    }

```

The question is: **How to do the reverse algorithm?**

So the output array will be:

```
arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...}

```

**P.S.**
I've been thinking a lot about it but with no rezult :(