#include <bits/stdc++.h>
#define int long long
#define N 100010
using namespace std;
const int INF = 1LL<<55;
const int mod = (1e9)+7;
const double EPS = 1e-8;
const double PI = 6.0 * asin(0.5);
template<class T> T Max(T &a,T b){return a=max(a,b);}
template<class T> T Min(T &a,T b){return a=min(a,b);}
int h,w,cx,cy;

bool in(int x,int y){return 0<=x && x<w && 0<=y && y<h;}

int calc2(int x1,int y1,int x2,int y2){
  if(x1 > x2) swap(x1, x2), swap(y1, y2);  
  if(x1 >= w) return 0;

  if(x1 < 0){
    if(y1 - y2 < 0) y1 += abs(x1) ,x1 = 0;
    if(y1 - y2 > 0) y1 -= abs(x1) ,x1 = 0;
  }

  if(x2 >= w){
    if(y1 - y2 < 0) y2 -= abs(x2-(w-1)) ,x2 = w-1;
    if(y1 - y2 > 0) y2 += abs(x2-(w-1)) ,x2 = w-1;
  }
  if(y1 > y2) swap(x1, x2), swap(y1, y2);
  if(y1 >= h) return 0;

  if(y1 < 0){
    if(x1 - x2 < 0) x1 += abs(y1) ,y1 = 0;
    if(x1 - x2 > 0) x1 -= abs(y1) ,y1 = 0;
  }

  if(y2 >= h){
    if(x1 - x2 < 0) x2 -= abs(y2-(h-1)) ,y2 = h-1;
    if(x1 - x2 > 0) x2 += abs(y2-(h-1)) ,y2 = h-1;
  }
  
  if(!in(x1,y1) || !in(x2,y2)) return 0;
  return abs(x2 - x1)+1;
}

int calc(int d){
  if(d == 0) return 1;
  return 
    calc2(cx,cy+d,cx+d,cy) + 
    calc2(cx+d,cy,cx,cy-d) +
    calc2(cx,cy-d,cx-d,cy) +
    calc2(cx-d,cy,cx,cy+d) -
    (in(cx,cy+d) + in(cx+d,cy) + in(cx,cy-d) + in(cx-d,cy));
}


template< class T >
void printVec(T a,char ch = ' '){
  for(int i=0;i<a.size();i++){
    if(i)cout<<ch;
    cout<<a[i];
  }
  cout<<endl;
}

signed main(){

  int X,Y,Z,A,B,C,n;
  cin>>X>>Y>>Z>>A>>B>>C>>n;
  w = X;
  h = Y;
  cx = A;
  cy = B;
  int D[N]={};
  for(int i=0;i<=X+Y;i++){
    D[i%n] += calc(i);
  }

  //for(int i=0;i<n;i++) cout<<D[i]<<" ";cout<<endl;  


  int ans = 0;
  int L1 = 0, R1= 0;
  int L2 = 0, R2= n-1;
  for(int i=0;i<Z-C;i++){
    int c = i%n;
    ans += D[(n-c)%n];
    L1 = (n - c)%n;
  }

  for(int i=1;i<=C;i++){
    int c = i%n;
    ans += D[(n-c)%n];
    L2 = (n - c)%n;
  }
  
  vector<int> Ans(1,ans);
  
  //swap(L1,R1);
  //swap(L2,R2);
  for(int i=1;i<n;i++){
    // cout<<"i="<<i<<endl;
    //cout<<L1<<" "<<R1<<endl;
    //cout<<L2<<" "<<R2<<endl;
    
    /*
      ans -= D[L1];
    L1++;L1%=n;

    R1++;R1%=n; 
    ans += D[R1];
    
    
    ans -= D[L2];
    L2++;L2%=n;

    R2++;R2%=n; 
    ans += D[R2];
    */

    ans -= D[L1];
    L1+=1;L1%=n;
    
    R1+=1;R1%=n;     
    ans += D[R1];
    
    ans -= D[L2];    
    L2+=1;L2%=n;
    
    R2+=1;R2%=n; 
    ans += D[R2];

    
    Ans.push_back(ans);
  }

  //reverse(Ans.begin()+1,Ans.end());
  printVec(Ans);
  return 0;
}