/*
TASK:water
LANG:C++
*/
#include <iostream>

using namespace std;

//ifstream cin ( "water.in" );
//ofstream cout ( "water.out" );

int v, k;
int a[ 4 ][ 4 ];
short vis[ 201 ][ 201 ][ 201 ];

unsigned long solve( int v[ 4 ], int k1 )
{ //int v1[ 4 ];
  if ( k1 > k ) return 0;
  if ( v[ 1 ] == 1 || v[ 2 ] == 1 || v[ 3 ] == 1 )
  		return 1;
  if ( vis[ v[ 1 ] ][ v[ 2 ] ][ v[ 3 ] ] == -1 )
   	return 0;
  vis[ v[ 1 ] ][ v[ 2 ] ][ v[ 3 ] ] = -1;

  int i, j, p, q;
  unsigned long cnt=0;
  for ( i=1; i<=3; i++ )
    for ( j=1; j<=3; j++ )
	 if ( i != j && v[ i ] > 0 )
	 { for ( q=1; q<=3; q++ )
		{   if ( v[ i ] > a[ i ][ q ] )
			{ p = v[ i ] - a[ i ][ q ];
			 v[ j ] += p;
			 v[ i ] -= p;
			 cnt+= solve( v, k1+1 );
			 v[ j ] -= p;
			 v[ i ] += p;
			}
			if ( v[ j ] < a[ j ][ q ] && v[ i ] > ( a[ j ][ q ] - v[ j ] ) )
			{	 p = a[ j ][ q ] - v[ j ];
			 v[ j ] += p;
			 v[ i ] -= p;
			 if ( v[ i ] != a[ i ][ 1 ] && v[ i ] != a[ i ][ 2 ] && v[ i ] != a[ i ][ 3 ] )
				 cnt+= solve( v, k1+1 );
			 v[ j ] -= p;
			 v[ i ] += p;
			}
		}
	 }
  vis[ v[ 1 ] ][ v[ 2 ] ][ v[ 3 ] ] = 0;
  return ( cnt );
}

int main( )
{
   int i, j;
	cin >> v >> k;
   for ( i=1; i<=3; i++ )
	  for ( a[ i ][ 1 ] = 0, j=2; j<=3; j++ )
	    cin >> a[ i ][ j ];
	int v1[ 4 ];
	v1[ 0 ] = v1[ 2 ] = v1[ 3 ] = 0;
	v1[ 1 ] = v;
	 int i1;
   for ( i=0; i<=v; i++ )
   for ( j=0; j<=v; j++ )
   for ( i1=0; i1<=v; i1++ )
	 vis[ i ][ j ][ i1 ] = 2;
	
	cout << solve( v1, 0 ) << endl;
	return 0;
}
