#include <iostream>
#include <set>
using namespace std;
int t, n, m, a, b, s;
multiset<int> S;

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	cin >> t;
	while(t--){
		cin >> n >> m >> a >> b;
		S.clear();
		for(int i = 0; i < m; i ++){
			cin >> s;
			S.insert(s);
		}
		int tme = abs(a - b) - 1;
		if(a < b){
			tme += a - 1;
		}
		else{
			tme += n - a;
		}
		int limit = 0;
		for(int i = 0; i < m; i ++){
			auto it = S.upper_bound(tme);
			if(it == S.begin()){
				break;
			}
			limit ++, tme --;
			it --;
			S.erase(S.find(*it));
		}
		cout << min(limit, abs(a - b) - 1) << '\n';
	}
}
