**Compilation/Execution Result:**

Given two arrays that represent Preorder traversals of a Full binary tree **preOrder[]** and its mirror tree **preOrderMirror()**, your task is to complete the function **constructBinaryTree()**, that constructs the full binary tree using these two Preorder traversals.

Examples:

```
Input : preOrder[] = {1,2,4,5,3,6,7}
preOrderMirror[] = {1,3,7,6,2,5,4}
Output : 1
/ \
2 3
/ \ / \
4 5 6 7
```

**Note**: It is not possible to construct a general binary tree using these two traversal. But it is possible to create a full binary tree using the above traversals without any ambiguity. For more details refer to this article.

**Input**:

The function takes three arguments as input, first the array that represent Preorder traversals of a Full binary tree **preOrder[], **second the array that represents the preorder traversal of** **its mirror tree **preOrderMirror() **and last the **size** of both the array.

There will be **T **test cases and for each test case the function will be called separately.

**Output:**

For each test case the function must return the root to the new binary tree formed. Ouput will be the inorder traversal of the binary tree.

**Constraints:**

1<=T<=500

1<=N<=10^{3}

**Example:
Input:**

2

3

0 1 2

0 2 1

7

1 2 4 5 3 6 7

1 3 7 6 2 5 4

1 0 2

4 2 5 1 6 3 7

Pulkit Gupta 2 | 130 |

Relentless | 124 |

Ibrahim Nash | 94 |

nancygarg258_pec | 90 |

darkswordsman | 90 |

Ibrahim Nash | 602 |

KartikAgarwal | 541 |

rs119574 | 371 |

surbhi_7 | 356 |

Little Noah | 335 |

akhayrutdinov | 4261 |

sanjay05 | 3633 |

Ibrahim Nash | 3162 |

Quandray | 3028 |

Michael Riegger | 2359 |