/*
TASK:water
LANG:C++
*/

#include<cstdio>
#include<stdlib.h>
#include<math.h>
using namespace std;

int a[8][7];
int k,v;
void vhod()
{
     scanf("%d%d",&v,&k);
     scanf("%d%d%d%d%d%d",&a[1][1],&a[2][1],&a[3][1],&a[4][1],&a[5][1],&a[6][1]);
}

int pp(int x, int y, int z, int p)
{
    int rez=0;
    if ( z==1 )
       if ( p==0 ) 
          return ((int)(fabs((double)(v-fabs((double)(a[x][1]-a[y][1])))))%(v-2))==1?1:0;
          else return ((int)(fabs((double)(v-fabs((double)(a[x][1]+a[y][1])))))%(v-2))==1?1:0;
       else 
       {
        rez+=pp(x, y, z-1, 1);
        rez+=pp(x, y, z-1, 0);
       }
    return rez;
}

int sol(int b)
{
    int i, j, rez=0;
      for (i=1; i<=6; i++)
             for (j=i+1+i%2; j<=6; j++)
                 {
                  rez+=pp(i, j, b, 1);
                 }
    return rez;
}

void solution()
{
     int i, ot=1;
     a[7][1]=v;
     for (i=2;i<=k;i++)
         a[7][i]=sol(i);
     for (i=2;i<=k;i++)
         {
          if(a[7][i]>1)a[7][i]*=2;
          ot*=a[7][i];
         }
     printf("%d\n",ot);
}

int main()
{
    vhod();
    solution();
    //system("pause");
}
