#include<bits/stdc++.h>
using namespace std;
using ll=long long int;
using ld=long double;
const ll mod=1000000007;
const ll te9=1000000000;
const ll te5=100001;
#define prec(a) fixed<<setprecision(a)
#define prhi cout<<"hi"<<endl
#define prcon(a) cout<<a<<endl
#define tdv(n,m,l,a) vector<vector<l>> a(n,vector<l> (m,0))
#define vec(m,a) vector<m> a
#define loop(i,s,e,c) for(ll i=s;i<=e;i+=c)
#define rloop(i,s,e,c) for(ll i=s;i>=e;i-=c)
// list of functions
double logb(double n,double b); // for log of any base
void yn(bool); // for printing yes and no
void ab(bool); // for printing alice and bob
void binary(ll,vector<int> &); // for converting number into binary
ll lcs(string,string,ll,ll); // longest common subsequence
void LongestSubarraySum(vector<ll> &v,vector<ll> &ve); // Kadane Algorithm
ll modInverse(ll a, ll m); // for calculating mod Inverse
void fact(ll n,ll m); // for calculating Factorial of number
ll NCR(ll n,ll r,ll m); // for calculating nCr
int xor_1ton(ll n); // find the xor of first n natural number {1^2^3^.....^n}
void solve(); // solution of the problem
template <typename dt>
void iar(ll n,vector<dt> &v)
{
dt k;
for(ll i=0; i<n; i++)
{
cin>>k;
v.push_back(k);
}
}
template <typename dt1,typename dt2>
void carip(ll n,vector<dt1> &v1,vector<dt2> &v2,vector<pair<dt1,dt2>> &v3)
{
for(ll i=0; i<n; i++)
{
v3.push_back({v1[i],v2[i]});
}
}
template <typename dt>
void iarm(ll n,ll m,vector<vector<dt>> &v)
{
dt k;
for(ll i=0; i<n; i++)
{
for(ll j=0; j<m; j++)
{
cin>>k;
v[i][j]=k;
}
}
}
template <typename dt>
void sortv(vector<dt> &v,bool c=true)
{
if(c)
sort(v.begin(),v.end());
else
sort(v.begin(),v.end(),greater<dt>());
}
template <typename dt>
void print(vector<dt> &v)
{
for(auto i:v)
cout<<i<<" ";
cout<<endl;
}
double logb(double n,double b=2)
{
return (log(n)/(log(b)*1.0));
}
void yn(bool f=true)
{
if(f)
cout<<"YES";
else
cout<<"NO";
cout<<endl;
}
void ab(bool f=true)
{
if(f)
cout<<"Alice";
else
cout<<"Bob";
cout<<endl;
}
void binary(ll n,vector<int> &v)
{
while(n!=0)
{
v.push_back(n%2);
n/=2;
}
return ;
}
ll lcs(string X, string Y, ll m, ll n)
{
ll L[m + 1][n + 1];
for (ll i = 0; i <= m; i++) {
for (ll j = 0; j <= n; j++) {
if (i == 0 || j == 0)
L[i][j] = 0;
else if (X[i - 1] == Y[j - 1])
L[i][j] = L[i - 1][j - 1] + 1;
else
L[i][j] = max(L[i - 1][j], L[i][j - 1]);
}
}
return L[m][n];
}
void LongestSubarraySum(vector<ll> &v,vector<ll> &ve)
{
ll e=0,c=v[0],g=v[0],s;
for(ll i=1; i<v.size(); i++)
{
c=max(v[i],c+v[i]);
if(c>g)
{
g=c;
e=i;
}
}
s=e;
while(s>=0)
{
g-=v[s];
if(g==0)
break;
s--;
}
for(ll i=s; i<=e; i++)
ve.push_back(v[i]);
print(ve);
}
vector<ll> factorial(te5,-1);
vector<ll> Invfactorial(te5,-1);
ll modInverse(ll a, ll m=mod)
{
ll res = 1, exp = m - 2;
while (exp > 0)
{
if (exp % 2 == 1)
{
res = (res * a) % m;
}
a = (a * a) % m;
exp /= 2;
}
return res;
}
void fact(ll n,ll m=mod)
{
factorial[0]=1;
for(ll i=1;i<=n;i++)
{
factorial[i]=(factorial[i-1]*i)%m;
}
Invfactorial[n]=modInverse(factorial[n],m);
for(ll i=n-1;i>=0;i--)
{
Invfactorial[i]=(Invfactorial[i+1]*(i+1))%m;
}
}
ll NCR(ll n,ll r,ll m=mod)
{
if(n<r || r<0)
return 0;
ll k=((factorial[n]*Invfactorial[r])%m);
return (Invfactorial[n-r]*k)%m;
}
ll binarySearch(ll i,ll j,ll key,vector<ll> &v)
{
if(i<=j)
{
ll m=j+(i-j)/2;
if(v[m]==key) return m+1;
else
{
if(v[m]>key) return binarySearch(i,m-1,key,v);
else return binarySearch(m+1,j,key,v);
}
}
return 0;
}
int xor_1ton(ll n)
{
if(n%4==0) return n;
else if(n%4==1) return 1;
else if(n%4==2) return n+1;
else return 0;
}
int main()
{
ll t;
cin>>t;
// t=1;
while(t>0)
{
// cout<<t<<" ";
solve();
t--;
}
return 0;
}
void solve()
{
ll n,m;
ll ans=0;
cin>>n>>m;
vector<ll> a;
vector<ll> r;
iar(n,a);
iar(n,r);
map<ll,ll> mp;
for(ll i=0;i<n;i++)
{
ll xst=a[i]-r[i];
ll xen=a[i]+r[i];
for(ll k=xst;k<=xen;k++)
{
ll eq=sqrt((r[i]*r[i])-((k-a[i])*(k-a[i])));
mp[k]=max(mp[k],eq+1);
}
}
for(auto i:mp) ans+=(2*i.second)-1;
cout<<ans<<endl;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVzaW5nIGxsPWxvbmcgbG9uZyBpbnQ7CnVzaW5nIGxkPWxvbmcgZG91YmxlOwoKY29uc3QgbGwgbW9kPTEwMDAwMDAwMDc7CmNvbnN0IGxsIHRlOT0xMDAwMDAwMDAwOwpjb25zdCBsbCB0ZTU9MTAwMDAxOwoKI2RlZmluZSBwcmVjKGEpIGZpeGVkPDxzZXRwcmVjaXNpb24oYSkKI2RlZmluZSBwcmhpIGNvdXQ8PCJoaSI8PGVuZGwKI2RlZmluZSBwcmNvbihhKSBjb3V0PDxhPDxlbmRsCiNkZWZpbmUgdGR2KG4sbSxsLGEpIHZlY3Rvcjx2ZWN0b3I8bD4+IGEobix2ZWN0b3I8bD4gKG0sMCkpCiNkZWZpbmUgdmVjKG0sYSkgdmVjdG9yPG0+IGEKI2RlZmluZSBsb29wKGkscyxlLGMpIGZvcihsbCBpPXM7aTw9ZTtpKz1jKQojZGVmaW5lIHJsb29wKGkscyxlLGMpIGZvcihsbCBpPXM7aT49ZTtpLT1jKQoKLy8gbGlzdCBvZiBmdW5jdGlvbnMKZG91YmxlIGxvZ2IoZG91YmxlIG4sZG91YmxlIGIpOyAvLyBmb3IgbG9nIG9mIGFueSBiYXNlCnZvaWQgeW4oYm9vbCk7IC8vIGZvciBwcmludGluZyB5ZXMgYW5kIG5vCnZvaWQgYWIoYm9vbCk7ICAvLyBmb3IgcHJpbnRpbmcgYWxpY2UgYW5kIGJvYgp2b2lkIGJpbmFyeShsbCx2ZWN0b3I8aW50PiAmKTsgICAvLyBmb3IgY29udmVydGluZyBudW1iZXIgaW50byBiaW5hcnkKbGwgbGNzKHN0cmluZyxzdHJpbmcsbGwsbGwpOyAgICAgLy8gbG9uZ2VzdCBjb21tb24gc3Vic2VxdWVuY2UKdm9pZCBMb25nZXN0U3ViYXJyYXlTdW0odmVjdG9yPGxsPiAmdix2ZWN0b3I8bGw+ICZ2ZSk7IC8vIEthZGFuZSBBbGdvcml0aG0KbGwgbW9kSW52ZXJzZShsbCBhLCBsbCBtKTsgLy8gZm9yIGNhbGN1bGF0aW5nIG1vZCBJbnZlcnNlCnZvaWQgZmFjdChsbCBuLGxsIG0pOyAvLyBmb3IgY2FsY3VsYXRpbmcgRmFjdG9yaWFsIG9mIG51bWJlcgpsbCBOQ1IobGwgbixsbCByLGxsIG0pOyAvLyBmb3IgY2FsY3VsYXRpbmcgbkNyCmludCB4b3JfMXRvbihsbCBuKTsgLy8gZmluZCB0aGUgeG9yIG9mIGZpcnN0IG4gbmF0dXJhbCBudW1iZXIgezFeMl4zXi4uLi4uXm59CnZvaWQgc29sdmUoKTsgLy8gc29sdXRpb24gb2YgdGhlIHByb2JsZW0KCnRlbXBsYXRlIDx0eXBlbmFtZSBkdD4Kdm9pZCBpYXIobGwgbix2ZWN0b3I8ZHQ+ICZ2KQp7CiAgICBkdCBrOwogICAgZm9yKGxsIGk9MDsgaTxuOyBpKyspCiAgICB7CiAgICAgICAgY2luPj5rOwogICAgICAgIHYucHVzaF9iYWNrKGspOwogICAgfQp9CnRlbXBsYXRlIDx0eXBlbmFtZSBkdDEsdHlwZW5hbWUgZHQyPgp2b2lkIGNhcmlwKGxsIG4sdmVjdG9yPGR0MT4gJnYxLHZlY3RvcjxkdDI+ICZ2Mix2ZWN0b3I8cGFpcjxkdDEsZHQyPj4gJnYzKQp7CiAgICBmb3IobGwgaT0wOyBpPG47IGkrKykKICAgIHsKICAgICAgICB2My5wdXNoX2JhY2soe3YxW2ldLHYyW2ldfSk7CiAgICB9Cn0KdGVtcGxhdGUgPHR5cGVuYW1lIGR0Pgp2b2lkIGlhcm0obGwgbixsbCBtLHZlY3Rvcjx2ZWN0b3I8ZHQ+PiAmdikKewogICAgZHQgazsKICAgIGZvcihsbCBpPTA7IGk8bjsgaSsrKQogICAgewogICAgICAgIGZvcihsbCBqPTA7IGo8bTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj5rOwogICAgICAgICAgICB2W2ldW2pdPWs7CiAgICAgICAgfQogICAgfQp9CnRlbXBsYXRlIDx0eXBlbmFtZSBkdD4Kdm9pZCBzb3J0dih2ZWN0b3I8ZHQ+ICZ2LGJvb2wgYz10cnVlKQp7CiAgICBpZihjKQogICAgICAgIHNvcnQodi5iZWdpbigpLHYuZW5kKCkpOwogICAgZWxzZQogICAgICAgIHNvcnQodi5iZWdpbigpLHYuZW5kKCksZ3JlYXRlcjxkdD4oKSk7Cn0KdGVtcGxhdGUgPHR5cGVuYW1lIGR0Pgp2b2lkIHByaW50KHZlY3RvcjxkdD4gJnYpCnsKICAgIGZvcihhdXRvIGk6dikKICAgICAgICBjb3V0PDxpPDwiICI7CiAgICBjb3V0PDxlbmRsOwp9CmRvdWJsZSBsb2diKGRvdWJsZSBuLGRvdWJsZSBiPTIpCnsKICAgIHJldHVybiAobG9nKG4pLyhsb2coYikqMS4wKSk7Cn0Kdm9pZCB5bihib29sIGY9dHJ1ZSkKewogICAgaWYoZikKICAgICAgICBjb3V0PDwiWUVTIjsKICAgIGVsc2UKICAgICAgICBjb3V0PDwiTk8iOwogICAgY291dDw8ZW5kbDsKfQp2b2lkIGFiKGJvb2wgZj10cnVlKQp7CiAgICBpZihmKQogICAgICAgIGNvdXQ8PCJBbGljZSI7CiAgICBlbHNlCiAgICAgICAgY291dDw8IkJvYiI7CiAgICBjb3V0PDxlbmRsOwp9CnZvaWQgYmluYXJ5KGxsIG4sdmVjdG9yPGludD4gJnYpCnsKICAgIHdoaWxlKG4hPTApCiAgICB7CiAgICAgICAgdi5wdXNoX2JhY2sobiUyKTsKICAgICAgICBuLz0yOwogICAgfQogICAgcmV0dXJuIDsKfQpsbCBsY3Moc3RyaW5nIFgsIHN0cmluZyBZLCBsbCBtLCBsbCBuKQp7CiAgICBsbCBMW20gKyAxXVtuICsgMV07CiAgICBmb3IgKGxsIGkgPSAwOyBpIDw9IG07IGkrKykgewogICAgICAgIGZvciAobGwgaiA9IDA7IGogPD0gbjsgaisrKSB7CiAgICAgICAgICAgIGlmIChpID09IDAgfHwgaiA9PSAwKQogICAgICAgICAgICAgICAgTFtpXVtqXSA9IDA7CgogICAgICAgICAgICBlbHNlIGlmIChYW2kgLSAxXSA9PSBZW2ogLSAxXSkKICAgICAgICAgICAgICAgIExbaV1bal0gPSBMW2kgLSAxXVtqIC0gMV0gKyAxOwoKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgTFtpXVtqXSA9IG1heChMW2kgLSAxXVtqXSwgTFtpXVtqIC0gMV0pOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBMW21dW25dOwp9CnZvaWQgTG9uZ2VzdFN1YmFycmF5U3VtKHZlY3RvcjxsbD4gJnYsdmVjdG9yPGxsPiAmdmUpCnsKICAgIGxsIGU9MCxjPXZbMF0sZz12WzBdLHM7CiAgICBmb3IobGwgaT0xOyBpPHYuc2l6ZSgpOyBpKyspCiAgICB7CiAgICAgICAgYz1tYXgodltpXSxjK3ZbaV0pOwogICAgICAgIGlmKGM+ZykKICAgICAgICB7CiAgICAgICAgICAgIGc9YzsKICAgICAgICAgICAgZT1pOwogICAgICAgIH0KICAgIH0KICAgIHM9ZTsKICAgIHdoaWxlKHM+PTApCiAgICB7CiAgICAgICAgZy09dltzXTsKICAgICAgICBpZihnPT0wKQogICAgICAgICAgICBicmVhazsKICAgICAgICBzLS07CiAgICB9CiAgICBmb3IobGwgaT1zOyBpPD1lOyBpKyspCiAgICAgICAgdmUucHVzaF9iYWNrKHZbaV0pOwogICAgcHJpbnQodmUpOwp9CnZlY3RvcjxsbD4gZmFjdG9yaWFsKHRlNSwtMSk7CnZlY3RvcjxsbD4gSW52ZmFjdG9yaWFsKHRlNSwtMSk7CmxsIG1vZEludmVyc2UobGwgYSwgbGwgbT1tb2QpIAp7CiAgICBsbCByZXMgPSAxLCBleHAgPSBtIC0gMjsKICAgIHdoaWxlIChleHAgPiAwKSAKICAgIHsKICAgICAgICBpZiAoZXhwICUgMiA9PSAxKSAKICAgICAgICB7CiAgICAgICAgICAgIHJlcyA9IChyZXMgKiBhKSAlIG07CiAgICAgICAgfQogICAgICAgIGEgPSAoYSAqIGEpICUgbTsKICAgICAgICBleHAgLz0gMjsKICAgIH0KICAgIHJldHVybiByZXM7Cn0Kdm9pZCBmYWN0KGxsIG4sbGwgbT1tb2QpCnsKICAgIGZhY3RvcmlhbFswXT0xOwogICAgZm9yKGxsIGk9MTtpPD1uO2krKykKICAgIHsKICAgICAgICBmYWN0b3JpYWxbaV09KGZhY3RvcmlhbFtpLTFdKmkpJW07CiAgICB9CiAgICBJbnZmYWN0b3JpYWxbbl09bW9kSW52ZXJzZShmYWN0b3JpYWxbbl0sbSk7CiAgICBmb3IobGwgaT1uLTE7aT49MDtpLS0pCiAgICB7CiAgICAgICAgSW52ZmFjdG9yaWFsW2ldPShJbnZmYWN0b3JpYWxbaSsxXSooaSsxKSklbTsKICAgIH0KfQpsbCBOQ1IobGwgbixsbCByLGxsIG09bW9kKQp7CiAgICBpZihuPHIgfHwgcjwwKQogICAgcmV0dXJuIDA7CiAgICBsbCBrPSgoZmFjdG9yaWFsW25dKkludmZhY3RvcmlhbFtyXSklbSk7CiAgICByZXR1cm4gKEludmZhY3RvcmlhbFtuLXJdKmspJW07Cn0KbGwgYmluYXJ5U2VhcmNoKGxsIGksbGwgaixsbCBrZXksdmVjdG9yPGxsPiAmdikKewogICAgaWYoaTw9aikKICAgIHsKICAgICAgICBsbCBtPWorKGktaikvMjsKICAgICAgICBpZih2W21dPT1rZXkpIHJldHVybiBtKzE7CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaWYodlttXT5rZXkpIHJldHVybiBiaW5hcnlTZWFyY2goaSxtLTEsa2V5LHYpOwogICAgICAgICAgICBlbHNlIHJldHVybiBiaW5hcnlTZWFyY2gobSsxLGosa2V5LHYpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9CmludCB4b3JfMXRvbihsbCBuKQp7CiAgICBpZihuJTQ9PTApIHJldHVybiBuOwogICAgZWxzZSBpZihuJTQ9PTEpIHJldHVybiAxOwogICAgZWxzZSBpZihuJTQ9PTIpIHJldHVybiBuKzE7CiAgICBlbHNlIHJldHVybiAwOwp9CmludCBtYWluKCkKewogICAgbGwgdDsKICAgIGNpbj4+dDsKICAgIC8vIHQ9MTsKICAgIHdoaWxlKHQ+MCkKICAgIHsKICAgICAgICAvLyBjb3V0PDx0PDwiICI7CiAgICAgICAgc29sdmUoKTsKICAgICAgICB0LS07CiAgICB9CiAgICByZXR1cm4gMDsKfSAKCnZvaWQgc29sdmUoKQp7CiAgICBsbCBuLG07CiAgICBsbCBhbnM9MDsKICAgIGNpbj4+bj4+bTsKICAgIHZlY3RvcjxsbD4gYTsKICAgIHZlY3RvcjxsbD4gcjsKICAgIGlhcihuLGEpOwogICAgaWFyKG4scik7CiAgICBtYXA8bGwsbGw+IG1wOwogICAgZm9yKGxsIGk9MDtpPG47aSsrKQogICAgewogICAgICAgIGxsIHhzdD1hW2ldLXJbaV07CiAgICAgICAgbGwgeGVuPWFbaV0rcltpXTsKICAgICAgICBmb3IobGwgaz14c3Q7azw9eGVuO2srKykKICAgICAgICB7CiAgICAgICAgICAgIGxsIGVxPXNxcnQoKHJbaV0qcltpXSktKChrLWFbaV0pKihrLWFbaV0pKSk7CiAgICAgICAgICAgIG1wW2tdPW1heChtcFtrXSxlcSsxKTsKICAgICAgICB9CiAgICB9CiAgICBmb3IoYXV0byBpOm1wKSBhbnMrPSgyKmkuc2Vjb25kKS0xOwogICAgY291dDw8YW5zPDxlbmRsOwogICAgCn0=