#826. 重数和轻数

重数和轻数

题目描述

百无聊赖的小明在纸上随便写了一个正整数 13,让小红把它转化为二进制,不能有前导 0。小红很快就把答案算出来了:1101。

小明发现答案中 1 的个数比 0 的个数多,于是他给 13 这种正整数起了个名字——重数,而把不是重数的正整数统称为轻数。

他突发奇想,提出来这样一个问题:任意给出一个正整数 n,在不超过 n 的正整数中有多少个重数和多少个轻数呢?

这下可把小红难住了。

你能帮帮她吗?

输入格式

一行,一个正整数 n

输出格式

一行,两个整数,依次表示在不超过 n 的正整数中重数和轻数的个数,中间以一个空格隔开。

样例输入

3

样例输出

2 1

样例解释

1、2、3 的二进制分别为 1, 10, 11,其中有 2 个数是重数:1 和 3,有 1 个数是轻数:2。

数据范围

对于 40% 的数据,满足 n ≤ 1,000

对于 100% 的数据,满足 n ≤ 20,000,000