#include <bits/stdc++.h>
#pragma GCC optimize(2)//手动O2开关 
using namespace std;
const int maxn=17;
typedef long long ll;

int x[maxn],y[maxn],r[maxn],d[maxn],dd[maxn],cun[maxn];
ll ans[maxn];
int cnt;

int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d%d",&x[i],&y[i],&r[i]);
		d[i]=min(abs(x[i]),abs(y[i]));
	}
	memset(ans,0x3f,sizeof(ans));
	for(int i=0;i<(1<<n);i++)
	{
		int now=i;
		cnt=0;
		for(int j=0;j<15;j++) 
		{
			if((now>>j)&1) cun[++cnt]=j+1; 
		}
		for(int j=0;j<(1<<cnt);j++)
		{
			ll ans_=0;
			memcpy(dd,d,sizeof(dd));
			for(int k=0;k<cnt;k++)
			{
				if((j>>k)&1)
				{
					for(int e=1;e<=n;e++)
					{
						dd[e]=min(dd[e],abs(x[e]-x[cun[k+1]]));
					}
				}
				else
				{
					for(int e=1;e<=n;e++)
					{
						dd[e]=min(dd[e],abs(y[e]-y[cun[k+1]]));
					}
				}
			}
			for(int i=1;i<=n;i++)
			{
				ans_+=1ll*dd[i]*r[i];
			}
			ans[cnt]=min(ans[cnt],ans_);
		}
	}
	for(int i=0;i<=n;i++)
	{
		printf("%lld\n",ans[i]);
	}
 } 