#include <iostream>
#include <cstdio>
using namespace std;
int main() {
	int T;
	cin >> T;
	while(T--)
	{
		int n,m;
		cin >> n >> m;
		int *a=new int[n+1];

		double ans=1;
		for(int i=1;i<=n;i++)
			cin >> a[i];
		int pos=n;
		while(pos&&a[pos]==pos) --pos;
		if(!pos)
		{
			for(int i=1;i<=m;i++)
			{
				int x;
				double y;
				cin >> x >> y;
			}
			puts("1.000000");
			continue;
		}
		for(int i=1;i<=m;i++)
		{
			int x;
			double y;
			cin >> x >> y;
			if(x>=pos) ans*=1-y;
		}
		printf("%.10lf\n",1-ans);
	}
	return 0;
}