#BW239. 星港启航码

星港启航码

题目描述

在银河系边缘的“织女星港”,每个泊位都有一个正整数编号。港口的安检系统会判断编号是否属于“启航码”。

判断规则如下:从编号的最低位(个位)开始,向高位逐位检查。

  • 第 11 位、第 33 位、第 55 位……也就是个位、百位、万位……必须是奇数;
  • 第 22 位、第 44 位、第 66 位……也就是十位、千位、十万位……必须是偶数。

如果编号中实际存在的每一位都满足上述规则,那么这个编号就是“启航码”。位数较少时,左侧不存在的高位不需要检查。

例如:

  • 123123:个位 33 是奇数,十位 22 是偶数,百位 11 是奇数,所以是启航码;
  • 24682468:个位 88 是偶数,不满足奇数位要求,所以不是启航码;
  • 77:个位 77 是奇数,所以是启航码;
  • 100100:个位 00 是偶数,不满足奇数位要求,所以不是启航码。

现在给定最大编号 NN,请你统计从 11 到 NN 中一共有多少个“启航码”。

输入格式

输入一行,包含一个正整数 NN。约定 1≤N≤1071 \le N \le 10^7。

输出格式

输出一行,包含一个整数,表示从 11 到 NN 中启航码的数量。

输入输出样例

24
7