Given two linked lists, your task is to complete the function **findIntersection, **that returns the intersection of two linked lists.

**Input:**

The function takes 2 arguments, reference pointer to the head of the first linked list (**head1**) and reference pointer to the head of the second linked list (**head2**).

There are multiple test cases and for each test case this function will be called separately.

**Output:**

The function should return** **reference pointer to the head of the new list that is formed by the intersection of the two the lists.

**Note:** The new list formed should be in non-decreasing order.

**Constraints:**

1<=T<=100

1<=N<=10^{3}

**Example:
Input:**

1

6

9 6 4 2 3 8

5

1 2 8 6 2

2 6 8

**Note:**The **Input/Ouput** format and **Example** given are used for system's internal purpose, and should be used by a user for **Expected Output** only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.

Ravneet Baansal | 88 |

Pavan Kate | 74 |

mhao | 64 |

bentlynixon | 62 |

RK Gupta | 55 |

tyaglot | 447 |

bentlynixon | 275 |

taobupt | 274 |

thurki | 245 |

Ravneet Baansal | 241 |

akhayrutdinov | 3946 |

sanjay05 | 3366 |

Michael Riegger | 2127 |

Quandray | 2086 |

Jasleen Kaur 2 | 2012 |