public int solve (String nums) {
if (nums.charAt(0) == '0') return 0;
if (nums == "10" || nums == "20") return 1;
for (int i = 1; i < nums.length(); i++){
if (nums.charAt(i) == '0' && (nums.charAt(i - 1) != '1' && nums.charAt(i - 1) != '2')) return 0;
int[] dp = new int[nums.length() + 1];
for (int i = 2; i <= nums.length(); i++){
if ((nums.charAt(i - 2) == '1' && nums.charAt(i - 1) != '0') || (nums.charAt(i - 2) == '2' && nums.charAt(i - 1) != '0' && nums.charAt(i - 1) < '7')){
dp[i] = dp[i - 1] + dp[i - 2];
return dp[nums.length()];