/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
//Note : If you are running this code on codechef then replace Ideone with Codechef
class Ideone //Codechef
{
{
try{
//write your code here
Scanner sc
= new Scanner
(System.
in); int t = sc.nextInt();
int maxN = 100;
int[] m = new int[maxN];
int[] R = new int[maxN];
int[] x1 = new int[maxN];
int[] y1 = new int[maxN];
int[] x2 = new int[maxN];
int[] y2 = new int[maxN];
int[] z = new int[maxN];
int[] a = new int[maxN];
int[] b = new int[maxN];
int[] c = new int[maxN];
int[] f = new int[maxN];
int h=0;
int temp=0;
int e=0;
int v=0;
while(t > 0){
int n = sc.nextInt();
int r = sc.nextInt();
for(int i=0;i<n;i++){
R[i] = sc.nextInt();
z[i]=i+1;
}
for(int i=0;i<n;i++){
if(i+1==n)
break;
else
e=z[i+1]-z[i];
if(e==0){
f[i]=0;
}
else{
f[i]=(R[i+1]-R[i])/e;
}
}
for(int i=0;i<r;i++){
x1[i] = sc.nextInt();
x2[i] = sc.nextInt();
y1[i] = sc.nextInt();
y2[i] = sc.nextInt();
v=(x2[i]-x1[i]);
if(v==0){
m[i]=0;
}
else{
m[i]=(y2[i]-y1[i])/(x2[i]-x1[i]);
}
}
for(int i=0;i<r;i++){
temp=m[i];
for(int j=0;j<n;j++){
if((temp==f[j])&&(j<n-1)){
h=h+1;
}
}
h=0;
}
t--;
}//end of test case loop
}//end of try block
}
}//end of main function
}
LyogcGFja2FnZSBjb2RlY2hlZjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KCi8vTm90ZSA6IElmIHlvdSBhcmUgcnVubmluZyB0aGlzIGNvZGUgb24gY29kZWNoZWYgdGhlbiByZXBsYWNlIElkZW9uZSB3aXRoIENvZGVjaGVmCmNsYXNzIElkZW9uZSAvL0NvZGVjaGVmCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgogICAgewogICAgICAgIHRyeXsKICAgICAgICAgICAgLy93cml0ZSB5b3VyIGNvZGUgaGVyZSAKICAgICAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgICAgIGludCB0ID0gc2MubmV4dEludCgpOwogICAgICAgICAgICBpbnQgbWF4TiA9IDEwMDsKICAgICAgICAgICAgaW50W10gbSA9IG5ldyBpbnRbbWF4Tl07CiAgICAgICAgICAgIGludFtdIFIgPSBuZXcgaW50W21heE5dOwogICAgICAgICAgICBpbnRbXSB4MSA9IG5ldyBpbnRbbWF4Tl07CiAgICAgICAgICAgIGludFtdIHkxID0gbmV3IGludFttYXhOXTsKICAgICAgICAgICAgaW50W10geDIgPSBuZXcgaW50W21heE5dOwogICAgICAgICAgICBpbnRbXSB5MiA9IG5ldyBpbnRbbWF4Tl07CiAgICAgICAgICAgIGludFtdIHogPSBuZXcgaW50W21heE5dOwogICAgICAgICAgICBpbnRbXSBhID0gbmV3IGludFttYXhOXTsKICAgICAgICAgICAgaW50W10gYiA9IG5ldyBpbnRbbWF4Tl07CiAgICAgICAgICAgIGludFtdIGMgPSBuZXcgaW50W21heE5dOwogICAgICAgICAgICBpbnRbXSBmID0gbmV3IGludFttYXhOXTsKICAgICAgICAgICAgaW50IGg9MDsKICAgICAgICAgICAgaW50IHRlbXA9MDsKICAgICAgICAgICAgaW50IGU9MDsKICAgICAgICAgICAgaW50IHY9MDsKICAgICAgICAgICAgd2hpbGUodCA+IDApewoKICAgICAgICAgICAgICAgICBpbnQgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICAgICBpbnQgciA9IHNjLm5leHRJbnQoKTsgCiAgICAgICAgICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICAgICAgICAgICAgICBSW2ldID0gc2MubmV4dEludCgpOwogICAgICAgICAgICAgICAgICAgIHpbaV09aSsxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsgCiAgICAgICAgICAgICAgICBpZihpKzE9PW4pCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBlbHNlIAogICAgICAgICAgICAgICAgICAgIGU9eltpKzFdLXpbaV07CiAgICAgICAgICAgICAgICBpZihlPT0wKXsKICAgICAgICAgICAgICAgICAgICBmW2ldPTA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgIGZbaV09KFJbaSsxXS1SW2ldKS9lOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAKICAgICAgICAgICAgZm9yKGludCBpPTA7aTxyO2krKyl7CiAgICAgICAgICAgICAgICB4MVtpXSA9IHNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICAgIHgyW2ldID0gc2MubmV4dEludCgpOwogICAgICAgICAgICAgICAgeTFbaV0gPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICB5MltpXSA9IHNjLm5leHRJbnQoKTsKICAgICAgICAgICAgICAgIHY9KHgyW2ldLXgxW2ldKTsKICAgICAgICAgICAgICAgIGlmKHY9PTApewogICAgICAgICAgICAgICAgICAgIG1baV09MDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICAgICAgbVtpXT0oeTJbaV0teTFbaV0pLyh4MltpXS14MVtpXSk7CiAgICAgICAgICAgICAgICB9ICAgCiAgICAgICAgICAgIH0gICAgICAgIAogICAgICAgICAgICBmb3IoaW50IGk9MDtpPHI7aSsrKXsKICAgICAgICAgICAgCQogICAgICAgICAgICAgICAgdGVtcD1tW2ldOwogICAgICAgICAgICAgICAgZm9yKGludCBqPTA7ajxuO2orKyl7CiAgICAgICAgICAgICAgICAJCiAgICAgICAgICAgICAgICAgICAgaWYoKHRlbXA9PWZbal0pJiYoajxuLTEpKXsKICAgICAgICAgICAgICAgICAgICAgICAgaD1oKzE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGgpOwogICAgICAgICAgICAgICAgaD0wOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHQtLTsKICAgICAgICB9Ly9lbmQgb2YgdGVzdCBjYXNlIGxvb3AgCiAgICAgICAgCiAgICB9Ly9lbmQgb2YgdHJ5IGJsb2NrCiAgICAgICAgY2F0Y2goRXhjZXB0aW9uIGUpewoKICAgICAgICB9CiAgICB9Ly9lbmQgb2YgbWFpbiBmdW5jdGlvbiAKCn0=