#include #include #include #include using namespace std; typedef long long ll; static const int tens[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; int main() { vector offset; int nine = 9; offset.push_back(0); do { offset.push_back((ll)offset.size() * (ll)nine); nine *= 10; } while (offset.back() < (1LL << 32)); for (int i = 1; i < offset.size(); ++i) { offset[i] += offset[i - 1]; } for (int N, K; cin >> N >> K && (N || K);) { for (int k = N; k < N + K; ++k) { const int numberOfDigit = (int)distance(offset.begin(), lower_bound(offset.begin(), offset.end(), k)); const int kk = k - offset[numberOfDigit - 1] - 1; const int number = kk / numberOfDigit + tens[numberOfDigit - 1]; const int digit = kk % numberOfDigit; char buffer[1024]; //!!! sprintf(buffer, "%d", number); putchar(buffer[digit]); } putchar('\n'); } }