#include <iostream>
#include <string>
using namespace std;

const int MOD = 1e9 + 7;

int popcount(long long x) {
    int count = 0;
    while (x) {
        count += x & 1;
        x >>= 1;
    }
    return count;
}

int main() {
    int n, K;
    string R_str;
    cin >> n >> K >> R_str;

    long long R = 0;
    for (char c : R_str) {
        if (R > (1LL << 50)) { 
            cout << "0\n";
            return 0;
        }
        R = R * 10 + (c - '0');
    }
 
    long long count = 1; 
    
    for (long long x = 1; x <= R; x++) {
        if (popcount(x) % K == 0) {
            count = (count + 1) % MOD;
        }
    }
    
    cout << count % MOD << endl;
    
    return 0;
}