#include <stdio.h>

int main() {
    int n;
    scanf("%d",&n);

    int weishu=1;
    long min = 1;
    long count =9;
    long long length=weishu*count;
    while(n>length){
        n-=length;
        weishu++;
        count*=10;
        min*=10;
        length=weishu*count;
    }

    long long target_num=min+(n-1)/weishu;
    long long index=(n-1)%weishu;
    char num [20];  // 足够大,long long 最大约19位
    sprintf(num, "%lld", target_num);
    printf("%c",num [index]);
    return 0;
}