/*
TASK: water
LANG: C
*/

#include<stdio.h>

#define MAXN 8388608
#define MAX2 40401
#define MAX1 201

void valid(int, int, int , int);
void flow(int conf, int level);

int used[MAXN]={0};
int num=0;
int config;
int v,k,a1,a2,b1,b2,c1,c2;

int main () {
//        freopen("test.txt","rt",stdin);
//        freopen("water.txt","wt",stdout);
        scanf("%d %d",&v,&k);
        scanf("%d %d %d %d %d %d",&a1,&a2,&b1,&b2,&c1,&c2);
        config=v*201*201;
        used[config]=1;
        flow(config,0);
        printf("%d\n",num);
        return 0;
        }

void valid (int x, int y, int z,int level) {
     int curconf;
     curconf=x*MAX2+y*MAX1+z;
     if (!used[curconf])
                         if (((x==1&&y!=1&&z!=1)||(x!=1&&y==1&&z!=1)||(x!=1&&y!=1&&z==1))&&(x+y+z==v)) {if (x==17&&z==3) {
                                                                               level++;
                                                                               level--;
                                                                               }
                                                             num++;}
                         else if (level+1<k) {
                                             used[curconf]=1;
                                             flow(curconf,level+1);
                                             used[curconf]=0;
                                             }
     return ;
     }
        

void flow(int conf, int level) {
     int o;
     int A,B,C;
     A=conf/MAX2;
     B=conf%MAX2/MAX1;
     C=conf%MAX2%MAX1;
     if (A>a1) {
               o=A-a1;
               if (o>0) {
                        valid(a1,B+o,C,level);
                        valid(a1,B,C+o,level);
                        }
               }
     if (A>a2) {
               o=A-a2;
               if (o>0) {
                        valid(a2,B+o,C,level);
                        valid(a2,B,C+o,level);
                        }
               }
     if (B<b1) {
               o=A+B-b1;
               if (o>0) valid(o,b1,C,level);
               }
     if (B<b2) {
               o=A+B-b2;
               if (o>0) valid(o,b2,C,level);
               }
     valid(0,A+B,C,level);
     if (C<c1) {
               o=A+C-c1;
               if (o>0) valid(o,B,c1,level);
               }
     if (C<c2) {
               o=A+C-c2;
               if (o>0) valid(o,B,c2,level);
               }
     valid(0,B,A+C,level);

     if (B>b1) {
               o=B-b1;
               if (o>0) {
                        valid(A+o,b1,C,level);
                        valid(A,b1,C+o,level);
                        }
               }
     if (B>b2) {
               o=B-b2;
               if (o>0) {
                        valid(A+o,b2,C,level);
                        valid(A,b2,C+o,level);
                        }
               }
     if (A<a1) {
               o=A+B-a1;
               if (o>0) valid(a1,o,C,level);
               }
     if (A<a2) {
               o=A+B-a2;
               if (o>0) valid(a2,o,C,level);
               }
     valid(A+B,0,C,level);
     if (C<c1) {
               o=B+C-c1;
               if (o>0) valid(A,o,c1,level);
               }
     if (C<c2) {
               o=B+C-c2;
               if (o>0) valid(A,o,c2,level);
               }
     valid(A,0,C+B,level);
     if (C>c1) {
               o=C-c1;
               if (o>0) {
                        valid(A+o,B,c1,level);
                        valid(A,B+o,c1,level);
                        }
               }
     if (C>c2) {
               o=C-c2;
               if (o>0) {
                        valid(A+o,B,c2,level);
                        valid(A,B+o,c2,level);
                        }
               }
     if (A<a1) {
               o=A+C-a1;
               if (o>0) valid(a1,B,o,level);
               }
     if (A<a2) {
               o=A+C-a2;
               if (o>0) valid(a2,B,o,level);
               }
     valid(A+C,B,0,level);
     if (B<b1) {
               o=B+C-b1;
               if (o>0) valid(A,b1,o,level);
               }
     if (B<b2) {
               o=B+C-b2;
               if (o>0) valid(A,b2,o,level);
               }
     valid(A,B+C,0,level);
     return ;
     }
