#include #include #include #include #include #include using namespace std; bool kadomatsu(int x,int y, int z){ if( x==y || y==z || z==x ) return false; if( xz ) return true; if( x>y && yz ){ if( x==0 ) offset++; if( X>=i ){ ret++; } dp[3][x][y][flag]++; } if( x>y&&y=i ){ ret++; } dp[3][x][y][flag]++; } } long long curDigit=1000; int di=4; while(curDigit<= X){ int curD = (X/curDigit)%10; for( int i = 0; i <= 9 ; i++ ){ for( int j=0; j<=9; j++ ){ for( int k=0; k <=9; k++){ if(kadomatsu(i,j,k)){ if( i> curD ){ dp[di][i][j][1]+=dp[di-1][j][k][0]; dp[di][i][j][1]+=dp[di-1][j][k][1]; } else if( i< curD ){ dp[di][i][j][0]+=dp[di-1][j][k][0]; dp[di][i][j][0]+=dp[di-1][j][k][1]; } else{ dp[di][i][j][0]+=dp[di-1][j][k][0]; dp[di][i][j][1]+=dp[di-1][j][k][1]; } } } } } curDigit*=10; di++; } for( int d = 4; d > T; for( int ti=0; ti> K; long long left=101; long long right=4e13; while( left+1