#居然一次性通过了。。。还以为要处理0的特殊情况呢。。。
while True:
    try:
        n = int(input())
        count = 0
        for i in range(n+1):
            #下面这部分主要是计划当前数据的位数,以便于决定从i*i的结果中取出末尾几位数
            temp = i
            len_i = 0
            while(temp!=0):
                temp = int(temp/10)
                len_i+=1
            #从i*i中取出相应的位数,与原数对比,相等则计算上。
            if (i*i) % (10**len_i) == i:
                count+=1
        print(count)
    except:
        break