#include <iostream>
#include <bits/stdc++.h>
#define maxn 10000
using namespace std;
int order[maxn],n;
int rsum[maxn],lsum[maxn];
int Lmax,Rmax;
//a是坐标,num是编号
void build(int a)
{
int num;
cin>>num;
if(num == -1) return;
if(a>=0)//右边
{
Rmax = max(Rmax,a);
rsum[a]+=num;
}
else
{
Lmax = max(Lmax,-a);
lsum[-a]+=num;
}
build(a-1);
build(a+1);
}
int main()
{
int a;
while(cin>>a&&a!=-1)
{
memset(rsum,0,sizeof(rsum));
memset(lsum,0,sizeof(lsum));
Lmax = 0,Rmax = 0;
rsum[0] = a;
build(-1);
build(1);
cout<<"Case "<<++n<<":"<<endl;
for(int i = Lmax;i!=0;i--) cout<<lsum[i]<<" ";
for(int i = 0;i<Rmax;i++) cout<<rsum[i]<<" ";
cout<<rsum[Rmax]<<endl;
cout<<endl;
}
return 0;
}
/**
5 7 -1 6 -1 -1 3 -1 -1
8 2 9 -1 -1 6 5 -1 -1 12 -1
-1 3 7 -1 -1 -1
-1
**/