#include<bits/stdc++.h>
using namespace std;
typedef long long LL;


void solve()
{
	int arr[100005]={0};
	int n, m;
	scanf("%d %d", &n, &m);
	for(int i=1;i<=n;i++)
		scanf("%d", &arr[i]);
	int pos=0;
	double p = 1;
	for(int i=1;i<=n;++i)
		if(arr[i]!=i)
			pos =i;
	for(int i=1;i<=m;++i)
	{
		int a;double  tem;
		scanf("%d %lf", &a, &tem);
//		printf("%d %lf\n", a, tem);
		if(a>=pos)
			p *=(1-tem); 
	}
	p = 1-p;
	if(pos)
	printf("%lf\n", p);
	else
		printf("1\n");
}

int main()
{
	int  t;
	scanf("%d", &t);
	while(t--)
		solve();
    return 0;
}
