#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define max 3000
#define row 1001
#define col 1001
#define N  8


/*


自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数


接口说明


/*
功能: 求出n以内的自守数的个数


输入参数:
int n

返回值:
n以内自守数的数量。

*/

int CalcAutomorphicNumbers(int n)
{
   //在这里实现功能
   int sum = 0;
   long j, k;

   for (int i = 0; i <= n; i++)
   {
      k = i * i;
      j = i;

      while (j != 0)
      {
         if (j % 10 != k % 10)
         {
            break;
         }
         j /= 10;
         k /= 10;
      }

      if (j == 0)
      {
         sum++;
      }
   }

   return sum;
}



int main()
{
   char s[max];
   char d[max];
   char ss[N][col];
   int seq[N];
   int cnt[N];

   int i = 0, j = 0, k = 0, m = 0, n = 0;
   char a, b, c;
   int  x = 0, y = 0, z = 0;

   while (scanf("%d", &x) != EOF)
   {
      printf("%d\n", CalcAutomorphicNumbers(x));
   }


   return 0;
}