#include<bits/stdc++.h>

using namespace std;

double A;
double ans;
int n, m;
const int MAXN = 1010;
double PI = acos(-1);

double s[MAXN], r[MAXN], st[MAXN];

map<int, double> Nico;

double Area(double p, double q){
	return A * A / 6.0 * (q * q * q - p * p * p);
}

void work(int TUT){
	double R = r[TUT], t = st[TUT];
	int p, q;
	q = (int)((R / A - t + 2 * PI) / (2 * PI));
	for(int i = 0; i <= n; i++)
		if (s[i] <= t && t <= s[i+1]){
			p = i;
			break;
		}
	if (q == 0){
		if (p == n){
			Nico[q * n + p] = Area(s[n], s[n+1]) - Area(s[0], s[1]);
		}
		else{
			Nico[q * n + p] = Area(s[p], s[p+1]);
		}
	}
	else{
		if (p == 0){
			if (q == 1){
				Nico[q * n + p] = Area(s[n], s[n+1]) - Area(s[0], s[1]);
			}
			else{
				Nico[q * n + p] = Area(2 * PI * (q - 1) + s[n], 2 * PI * (q - 1) + s[n+1]) - Area(2 * PI * (q - 2) + s[n], 2 * PI * (q - 2) + s[n + 1]);
			}
		}
		else {
			Nico[q * n + p] = Area(2 * PI * q + s[p], 2 * PI * q + s[p+1]) - Area(2 * PI * (q - 1) + s[p], 2 * PI * (q - 1) + s[p + 1]);
		}
	}
}

int main(){
	int T;
	scanf("%d", &T);
	for(int o = 1; o <= T; o++){
		scanf("%lf", &A);
		scanf("%d", &n);
		for(int i = 1; i <= n; i++)
			scanf("%lf", &s[i]);
		sort(s + 1, s + n + 1);
		s[n + 1] = s[1] + acos(-1) * 2;
		s[0] = 0;
		ans = 0;
		scanf("%d", &m);
		for(int i = 1; i <= m; i++){
			scanf("%lf%lf", &r[i], &st[i]);
		}
		if (n == 0){
			if (m == 0){
				printf("Spiral %d: 0 liters\n", o);
			}
			else{
				printf("Spiral %d: -1\n", o);
			}
			continue;
		}
		Nico.clear();
		for(int i = 1; i <= m; i++){
			work(i);
		}
		for(auto i = Nico.begin(); i != Nico.end(); i++)
			ans += (i -> second);
		printf("Spiral %d: %.4f liters\n", o, ans / 10);
	}
	return 0;
}
