There are `n`

seats and `n`

students in a room. You are given an array `seats`

of length `n`

, where `seats[i]`

is the position of the `i`

seat. You are also given the array ^{th}`students`

of length `n`

, where `students[j]`

is the position of the `j`

student.^{th}

You may perform the following move any number of times:

- Increase or decrease the position of the
`i`

student by^{th}`1`

(i.e., moving the`i`

student from position^{th}`x`

to`x + 1`

or`x - 1`

)

Return *the minimum number of moves required to move each student to a seat*

Note that there may be **multiple** seats or students in the **same **position at the beginning.

**Example 1:**

Input:seats = [3,1,5], students = [2,7,4]Output:4Explanation:The students are moved as follows: - The first student is moved from from position 2 to position 1 using 1 move. - The second student is moved from from position 7 to position 5 using 2 moves. - The third student is moved from from position 4 to position 3 using 1 move. In total, 1 + 2 + 1 = 4 moves were used.

**Example 2:**

Input:seats = [4,1,5,9], students = [1,3,2,6]Output:7Explanation:The students are moved as follows: - The first student is not moved. - The second student is moved from from position 3 to position 4 using 1 move. - The third student is moved from from position 2 to position 5 using 3 moves. - The fourth student is moved from from position 6 to position 9 using 3 moves. In total, 0 + 1 + 3 + 3 = 7 moves were used.

**Example 3:**

Input:seats = [2,2,6,6], students = [1,3,2,6]Output:4Explanation:Note that there are two seats at position 2 and two seats at position 6. The students are moved as follows: - The first student is moved from from position 1 to position 2 using 1 move. - The second student is moved from from position 3 to position 6 using 3 moves. - The third student is not moved. - The fourth student is not moved. In total, 1 + 3 + 0 + 0 = 4 moves were used.

**Constraints:**

`n == seats.length == students.length`

`1 <= n <= 100`

`1 <= seats[i], students[j] <= 100`

```
struct Solution;
impl Solution {
fn min_moves_to_seat(mut seats: Vec<i32>, mut students: Vec<i32>) -> i32 {
seats.sort_unstable();
students.sort_unstable();
let n = seats.len();
let mut res = 0;
for i in 0..n {
res += (seats[i] - students[i]).abs();
}
res
}
}
#[test]
fn test() {
let seats = vec![3, 1, 5];
let students = vec![2, 7, 4];
let res = 4;
assert_eq!(Solution::min_moves_to_seat(seats, students), res);
let seats = vec![4, 1, 5, 9];
let students = vec![1, 3, 2, 6];
let res = 7;
assert_eq!(Solution::min_moves_to_seat(seats, students), res);
let seats = vec![2, 2, 6, 6];
let students = vec![1, 3, 2, 6];
let res = 4;
assert_eq!(Solution::min_moves_to_seat(seats, students), res);
}
```