#include <bits/stdc++.h>
#include<string>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
typedef long double ld;
#define fill(a,val) memset(a,val,sizeof(a))
#define pb  push_back
#define mp  make_pair
#define ff  first
#define ss  second
#define fastio() ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
const ll MOD     = 1000*1000*1000+7;
const ll INF     = 1ll*1000*1000*1000*1000*1000*1000 + 7;
const ll MOD2    = 998244353;
const ld PI  = 3.141592653589793;
ll gcd(ll a, ll b){if(!b)return a;return gcd(b, a % b);} 
ll power(ll x,ll y,ll p ){ll res=1;x%=p;while(y>0){if(y&1)res=(res*x)%p;y=y>>1;x=(x*x)%p;}return res;}
ll power1(ll x,ll y){ll res=1;while(y>0){if(y&1)res=(res*x);y=y>>1;x=(x*x);}return res;}
ll lcm(ll a , ll b){return (a*b)/gcd(a,b);}
ll max(ll a,ll b){if(a>b)return a;return b;}
ll min(ll a,ll b){if(a>b)return b;return a;}
bool sortbysec(const pair<ll,ll> &a, const pair<ll,ll> &b)
{
    return a.second<b.second;
}

int main()
{
    fastio();
    int t;
    cin>>t;
    while(t--)
    {
        int n,k;
        cin>>n>>k;
        int a[k],b[k];
        for(int i=0;i<k;i++)
        {
            cin>>a[i];
            a[i]--;
        }
        for(int i=0;i<k;i++)
        {
            cin>>b[i];
        }
        vector<pair<int,int>> v;
        for(int i=0;i<k;i++)
        {
            v.pb(mp(a[i],b[i]));
        }
        sort(v.begin(),v.end());
        deque<pair<int,int>> q;
        for(int i=0;i<k;i++)
        {
            while(!q.empty() && q.back().second>=(abs(q.back().first-v[i].first)+v[i].second))
            {
                q.pop_back();
            }
            if(q.empty() || v[i].second<(abs(q.back().first-v[i].first)+q.back().second))
            q.push_back(v[i]);
        }
        vector<pair<int,int>> v1;
        while(!q.empty())
        {
            v1.pb(q.front());
            q.pop_front();
        }
        sort(v1.begin(),v1.end());
        int ans[n];
        for(int i=0;i<=v1[0].first;i++)
        {
            ans[i]=v1[0].second+abs(v1[0].first-i);
        }
        for(int i=1;i<v1.size();i++)
        {
            for(int j=v1[i-1].first;j<=v1[i].first;j++)
            {
                ans[j]=min(v1[i].second+abs(v1[i].first-j),v1[i-1].second+abs(v1[i-1].first-j));
            }
        }
        for(int i=v1[v1.size()-1].first+1;i<n;i++)
        {
            ans[i]=v1[v1.size()-1].second+abs(v1[v1.size()-1].first-i);
        }
        for(int i=0;i<n;i++)
        {
            cout<<ans[i]<<" ";
        }
        cout<<"\n";
    }
    return 0;
}