/*
TASK: water
LANG: C++
*/
#include <stdio.h>
#include <algorithm>
using namespace std;

 int a[4][4];
 int cur[4];
 char b[202][202][202];
 int v,k,res;

 void rec (int w)
  {
   int i,j,t;
   int h[6],c;
   if (cur[1]==1 || cur[2]==1 || cur[3]==1)
    {
     res++;
     return;
    }
   if (w==k) return;
   for (i=1;i<=3;i++)
    if (cur[i]!=0)
     for (j=1;j<=3;j++)
      if (i!=j)
       {
// from i
        c=0;
        h[c++]=cur[i];
        if (a[i][1]<cur[i]) h[c++]=cur[i]-a[i][1];
        if (a[i][2]<cur[i]) h[c++]=cur[i]-a[i][2];
// from j
        if (a[j][1]>cur[j] && cur[i]>=a[j][1]-cur[j]) h[c++]=a[j][1]-cur[j];
        if (a[j][2]>cur[j] && cur[i]>=a[j][2]-cur[j]) h[c++]=a[j][2]-cur[j];
        stable_sort(&h[0],&h[c]);
        for (t=0;t<c;t++)
         if (t==0 || h[t-1]!=h[t])
          {
           cur[j]+=h[t];
           cur[i]-=h[t];
           if (b[cur[1]][cur[2]][cur[3]]==0)
            {
             b[cur[1]][cur[2]][cur[3]]=1;
             rec(w+1);
             b[cur[1]][cur[2]][cur[3]]=0;
            }
           cur[j]-=h[t];
           cur[i]+=h[t];
          }
       }
  }

 int main ()
  {
   int i,j;
   scanf("%d%d",&v,&k);
   for (i=1;i<=3;i++)
    for (j=1;j<=2;j++)
     scanf("%d",&a[i][j]);
   cur[1]=v;
   b[v][0][0]=1;
   res=0;
   rec(0);
   printf("%d\n",res);
   return 0;
  }
  
