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 c++17.

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:
```cpp
<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.