# coding: utf-8 # yukicoder No.378 名声値を稼ごう N = int(input()) ''' スキル使用時は常に1回目に使うのが最も効率が良い よって、スキル使用時は 2 * N 一方、スキルを使用しないときはNを2進表記したときの 1のビット数だけ1切り捨てられる よって、スキル使用時と使用しないときの差分は Nを2進表記したときの1のビット数となる ''' print(bin(N).count('1'))