function Main(input) {
	input = input.split("\n");
	tmp = input[0].split(" ");

	var ba = {};

	var N = parseInt(tmp[0], 10);
	var Q = parseInt(tmp[1], 10);

	var i = 1;
	for(; i < N; i++) {
		tmp = input[i].split(" ");
		ba[parseInt(tmp[1], 10)] = parseInt(tmp[0], 10)
	}

	var px = {}
	for(;i < N + Q; i++) {
		tmp = input[i].split(" ");
		var p = parseInt(tmp[0], 10);
		var x = parseInt(tmp[1], 10);

		if(!px[p]) {
			px[p] = x;
		} else {
			px[p] += x;
		}
	}

	var result = '';
	for(var j = 1; j <= N; j++) {
		var r = 0;
		var current = j;
		while(true) {
			var x = px[current];
			if (x) {
				r += x;
			}

			var next = ba[current]
			if(!next) {
				break;
			}
			current = next
		}

		result = result + r + ' '
	}

	console.log(result)
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));