class Solution {
public int solution(int balls, int share) {
if (balls < share) {
return 0;
}
if (balls == share || share == 0) {
return 1;
}
int[][] pascal = new int[balls + 1][share + 1];
for (int i = 0; i <= balls; i++) {
pascal[i][0] = 1;
}
for (int i = 1; i <= balls; i++) {
for (int j = 1; j <= Math.min(i, share); j++) {
pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j];
}
}
return pascal[balls][share];
}
}