Maryam is an electrical engineer. She is designing wiring on a communication tower. On the tower there are some connection points, placed at distinct heights. A wire can be used to connect any two connection points. Each connection point can be connected to an arbitrary number of wires. There are two types of connection points: red and blue.

For the purpose of this problem the tower should be viewed as a line and the connection points as blue and red points that are at non-negative integer coordinates on this line. The length of a wire is the distance between the two connection points it connects.

Your goal is to help Maryam find a wiring scheme such that:

- Each connection point has at least one wire to a connection point of a different color.
- The total length of the wires is minimized.

#### Implementation details

You should implement the following procedure:

```
long long min_total_length(std::vector<int> r, std::vector<int> b);
```

- : array of length containing the positions of the red connection points in increasing order.
- : array of length containing the positions of the blue connection points in increasing order.
- This procedure should return the minimum total length of wires, among all valid wiring schemes.
- Note that the return type of this procedure is
`int64`

.

#### Example

```
min_total_length([1, 2, 3, 7], [0, 4, 5, 9, 10])
```

The figure below illustrates this example.

- The tower is shown horizontally.
- In the black-and-white printed version of the problem statement the red connection points are dark and the blue ones are light.
- There are red connection points, located at positions and .
- There are blue connection points, located at positions and .
- One optimal solution is shown in the figure above.
- In this solution, the total length of the wires is , which is optimal. So, the procedure should return .
- Note that two wires are connected to the connection point at position .

#### Constraints

- ,
- for all ,
- for all ,
- Each of the arrays and is sorted in ascending order.
- All values in the arrays and are distinct.

#### Subtasks

- (7 points) ,
- (13 points) All red connection points have positions smaller than any blue connection points.
- (10 points) There is at least one red connection point and one blue connection point among every consecutive connection points.
- (25 points) All connection points have different positions in the range .
- (45 points) No additional constraints.

#### Sample grader

The sample grader reads the input in the following format:

- line :
- line :
- line :

The sample grader prints a single line containing the return value of `min_total_length`

.

## Comments