# ビット演算だからビット桁ごとに独立に考える # Nのビット桁が1のときに、A, B, Cの2数に割り振っていく # Nのビット桁1が1個しかないと、割り振られなかったところが0になってしまうので存在しない # Nのビット桁1が2個以上あれば、最初はABに割り振り、あとはACに割り振ればいいだろう N = int(input()) if bin(N).count('1') <= 1: print(-1, -1, -1) else: A, B, C = 0, 0, 0 first = False for d in range(31): if N>>d&1 == 1: if first == False: A += 1<