#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<functional>
#include <memory.h>



using namespace std;



int main(){
    int n,s;
    while(cin>>n>>s){
    int bit[10]={0,0,0,0,0,0,0,0,0,0};
    int num[10]={0,1,2,3,4,5,6,7,8,9};


    for(int i=9; i>=10-n; i--)bit[i]=1;
    int count=0;

    do{
        int temp_num[10]={0};
        
        int m=0;
        for(int i=0; i<10; i++){
            //cout<<bit[i];
            if(bit[i]==1){
                temp_num[m]=num[i];
                m++;
            }
        }
        //cout<<temp_num[0]<<temp_num[1]<<temp_num[2]<<endl;

        do{
            int ans=0;
            for(int i=1; i<=m; i++){
                ans+=i*temp_num[i-1];
            }
            if(ans==s)count++;
        }while(next_permutation(temp_num, temp_num+m));
    }while(next_permutation(bit, bit+10));
    cout<<count<<endl;
    }
    
    
    /*while(cin>>n>>s){
        int count=0;
        do{
            int ans=0;
            for(int i=0; i<n; i++){
                ans += (1+i)*num[i];
            }
            if(ans==s)count++;
        }while(next_permutation(num, num+10));
        int x=1;
        for(int i=1; i<=10-n; i++){
            x*=i;
        }
        cout<<count/x<<endl;
     
    }
     */
    

}
    
    