You are an expert competitive programmer. You will be given a problem statement, test case constraints and example test inputs and outputs. Please reason step by step about the solution (that must respect memory and time limits), then provide a complete implementation in python3.

Your solution must read input from standard input (cin), write output to standard output (cout).
Do not include any debug prints or additional output.

Put your final solution within a single code block:
```python
<your code here>
```

Execution time limit: 4.0 seconds
Memory limit: 256.0 MB

# Problem
You are playing with a really long strip consisting of $$$10^{18}$$$ white cells, numbered from left to right as $$$0$$$, $$$1$$$, $$$2$$$ and so on. You are controlling a special pointer that is initially in cell $$$0$$$. Also, you have a "Shift" button you can press and hold.

In one move, you can do one of three actions:

- move the pointer to the right (from cell $$$x$$$ to cell $$$x + 1$$$);
- press and hold the "Shift" button;
- release the "Shift" button: the moment you release "Shift", all cells that were visited while "Shift" was pressed are colored in black.

Your goal is to color at least $$$k$$$ cells, but there is a restriction: you are given $$$n$$$ segments $$$[l_i, r_i]$$$ — you can color cells only inside these segments, i. e. you can color the cell $$$x$$$ if and only if $$$l_i \le x \le r_i$$$ for some $$$i$$$.

What is the minimum number of moves you need to make in order to color at least $$$k$$$ cells black?

## Input Format
The first line contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases.

The first line of each test case contains two integers $$$n$$$ and $$$k$$$ ($$$1 \le n \le 2 \cdot 10^5$$$; $$$1 \le k \le 10^9$$$) — the number of segments and the desired number of black cells, respectively.

The second line contains $$$n$$$ integers $$$l_1, l_2, \dots, l_n$$$ ($$$1 \le l_1 < l_2 < \dots < l_n \le 10^9$$$), where $$$l_i$$$ is the left border of the $$$i$$$-th segment.

The third line contains $$$n$$$ integers $$$r_1, r_2, \dots, r_n$$$ ($$$1 \le r_i \le 10^9$$$; $$$l_i \le r_i < l_{i + 1} - 1$$$), where $$$r_i$$$ is the right border of the $$$i$$$-th segment.

Additional constraints on the input:

- every cell belongs to at most one segment;
- the sum of $$$n$$$ doesn't exceed $$$2 \cdot 10^5$$$.

## Output Format
For each test case, print the minimum number of moves to color at least $$$k$$$ cells black, or $$$-1$$$ if it's impossible.

## Examples
```input
4
2 3
1 3
1 4
4 20
10 13 16 19
11 14 17 20
2 3
1 3
1 10
2 4
99 999999999
100 1000000000
```
```output
8
-1
7
1000000004
```

## Note
In the first test case, one of the optimal sequences of operations is the following:

1. Move right: pointer is moving into cell $$$1$$$;
2. Press Shift;
3. Release Shift: cell $$$1$$$ is colored black;
4. Move right: pointer is moving into cell $$$2$$$;
5. Move right: pointer is moving into cell $$$3$$$;
6. Press Shift;
7. Move right: pointer is moving into cell $$$4$$$;
8. Release Shift: cells $$$3$$$ and $$$4$$$ are colored in black.

In the second test case, we can color at most $$$8$$$ cells, while we need $$$20$$$ cell to color.

In the third test case, one of the optimal sequences of operations is the following:

1. Move right: pointer is moving into cell $$$1$$$;
2. Move right: pointer is moving into cell $$$2$$$;
3. Move right: pointer is moving into cell $$$3$$$;
4. Press Shift;
5. Move right: pointer is moving into cell $$$4$$$;
6. Move right: pointer is moving into cell $$$5$$$;
7. Release Shift: cells $$$3$$$, $$$4$$$ and $$$5$$$ are colored in black.

Now solve the problem and return the code.