import sys def solve(): # 入力の読み込み try: input_data = sys.stdin.read().split() if not input_data: return n = int(input_data[0]) except ValueError: return MOD = 998244353 popcounts = [bin(i).count('1') for i in range(n + 1)] total_sum = 0 # a を 0 から n まで for a in range(n + 1): pc_a = popcounts[a] # b を a から n まで for b in range(a, n + 1): # p(a) == p(b) の場合のみ計算 if pc_a == popcounts[b]: # a & b を加算 total_sum += (a & b) total_sum %= MOD print(total_sum) if __name__ == '__main__': solve()