A. Two Rival Students

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

You are the gym teacher in the school.

There are nn students in the row. And there are two rivalling students among them. The first one is in position aa, the second in position bb. Positions are numbered from 11 to nn from left to right.

Since they are rivals, you want to maximize the distance between them. If students are in positions pp and ss respectively, then distance between them is |p−s||p−s|.

You can do the following operation at most xx times: choose two adjacent (neighbouring) students and swap them.

Calculate the maximum distance between two rivalling students after at most xx swaps.

Input

The first line contains one integer tt (1≤t≤1001≤t≤100) — the number of test cases.

The only line of each test case contains four integers nn, xx, aa and bb (2≤n≤1002≤n≤100, 0≤x≤1000≤x≤100, 1≤a,b≤n1≤a,b≤n, a≠ba≠b) — the number of students in the row, the number of swaps which you can do, and positions of first and second rivaling students respectively.

Output

For each test case print one integer — the maximum distance between two rivaling students which you can obtain.

Example

input

Copy

3
5 1 3 2
100 33 100 1
6 0 2 3

output

Copy

2
99
1

Note

In the first test case you can swap students in positions 33 and 44. And then the distance between the rivals is equal to |4−2|=2|4−2|=2.

In the second test case you don't have to swap students.

In the third test case you can't swap students.

解题说明:此题采用贪心算法,确保两个学生相邻最远距离即可。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

#define max(a,b) a>b?a:b;

int main()
{
	int t, x, n, a, b;
	scanf("%d", &t);
	while (t--)
	{
		int res = 0;
		scanf("%d %d %d %d", &n, &x, &a, &b);
		res = max(a - b, b - a);
		if (res + x <= (n - 1))
		{
			res = res + x;
		}
		else
		{
			res = n - 1;
		}
		printf("%d\n", res);
	}
	return 0;
}
发布了1729 篇原创文章 · 获赞 371 · 访问量 273万+

猜你喜欢

转载自blog.csdn.net/jj12345jj198999/article/details/103219230