#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(x) (x).begin(),(x).end()
const int mod=1000000007,MAX=203,INF=1<<30;

vector<int> da={1,0,0,-1,0,0},db={0,1,0,0,-1,0},dc={0,0,1,0,0,-1};

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    ll A,B,C;cin>>A>>B>>C;
    int N;cin>>N;
    vector<pair<pair<int,int>,int>> S(N);
    for(int i=0;i<N;i++){
        cin>>S[i].first.first>>S[i].first.second>>S[i].second;
    }
    
    ll ans=(A*B+B*C+C*A)*2;
    
    for(int k=0;k<6;k++){
        if(k==0){
            sort(all(S),[](auto a,auto b){
                return a.first.first>b.first.first;
            });
        }
        if(k==1){
            sort(all(S),[](auto a,auto b){
                return a.first.second>b.first.second;
            });
        }
        if(k==2){
            sort(all(S),[](auto a,auto b){
                return a.second>b.second;
            });
        }
        if(k==3){
            sort(all(S),[](auto a,auto b){
                return a.first.first<b.first.first;
            });
        }
        if(k==4){
            sort(all(S),[](auto a,auto b){
                return a.first.second<b.first.second;
            });
        }
        if(k==5){
            sort(all(S),[](auto a,auto b){
                return a.second<b.second;
            });
        }
        
        map<pair<int,int>,int> MA;
        
        for(int i=0;i<N;i++){
            int a=S[i].first.first,b=S[i].first.second,c=S[i].second;
            
            if(k==0){
                if(MA.count({b,c})==0){
                    if(a!=A-1&&a!=0){
                        ans++;
                    }else if(a==0&&A==1) ans--;
                }else if(MA[{b,c}]!=a){
                    if(a!=A-1&&a!=0) ans++;
                }else if(a==0&&MA[{b,c}]==a) ans--;
                MA[{b,c}]=a-1;
            }else if(k==1){
                if(MA.count({a,c})==0){
                    if(b!=B-1&&b!=0){
                        ans++;
                    }else if(b==0&&B==1) ans--;
                }else if(MA[{a,c}]!=b){
                    if(b!=B-1&&b!=0) ans++;
                }else if(b==0&&MA[{a,c}]==b) ans--;
                MA[{a,c}]=b-1;
            }else if(k==2){
                if(MA.count({a,b})==0){
                    if(c!=C-1&&c!=0){
                        ans++;
                    }else if(c==0&&C==1) ans--;
                }else if(MA[{a,b}]!=c){
                    if(c!=C-1&&c!=0) ans++;
                }else if(c==0&&MA[{a,b}]==c) ans--;
                MA[{a,b}]=c-1;
            }else if(k==3){
                if(MA.count({b,c})==0){
                    if(a!=A-1&&a!=0){
                        ans++;
                    }else if(a==0&&A==1) ans--;
                }else if(MA[{b,c}]!=a){
                    if(a!=A-1&&a!=0) ans++;
                }else if(a==A-1&&MA[{b,c}]==a) ans--;
                MA[{b,c}]=a+1;
            }else if(k==4){
                if(MA.count({a,c})==0){
                    if(b!=B-1&&b!=0){
                        ans++;
                    }else if(b==0&&B==1) ans--;
                }else if(MA[{a,c}]!=b){
                    if(b!=B-1&&b!=0) ans++;
                }else if(b==B-1&&MA[{a,c}]==b) ans--;
                MA[{a,c}]=b+1;
            }else if(k==5){
                if(MA.count({a,b})==0){
                    if(c!=C-1&&c!=0){
                        ans++;
                    }else if(c==0&&C==1) ans--;
                }else if(MA[{a,b}]!=c){
                    if(c!=C-1&&c!=0) ans++;
                }else if(c==C-1&&MA[{a,b}]==c) ans--;
                MA[{a,b}]=c+1;
            }
            
        }
        
        //cout<<ans<<endl;
    }
    
    cout<<ans<<endl;
    
}




Measured memory_bytes: 3252