#include <iostream>
using namespace std;

int main() {
	int t;
	cin >> t;
	while(t--){
		int n;
		cin >> n;
		int a[n],dp[n],d[n];
		for(int i=0;i<n;i++){
			cin >> a[i] >> dp[i];
		}
		for(int i=0;i<n;i++){
			cin >> d[i];
		}
		a[0] += d[0];
		int dp_i = dp[0]; 
		dp[0] = max((dp[0]-a[0]+1)/2,dp[0]); 
		int dp_dif = dp[0] - dp_i;
		cout << a[0] << " " << dp[0] << endl;
		for(int i=1;i<n;i++){
			if(dp_dif > 0){
				a[i] += dp_dif;
				dp[i] += dp_dif;
			}
			a[i] += d[i]; 
			dp_i = dp[i];
			dp[i] = max(dp[i],((dp[i]-a[i])+1)/2);
			dp_dif += dp[i] - dp_i;
			cout << a[i] << " " << dp[i] << endl;
		}
		cout << endl;
	}
	

	return 0;
}