//g++ 2.cpp -std=c++14 -I .
#include <bits/stdc++.h>
using namespace std;

#include <atcoder/all>
using namespace atcoder;

using ll = long long;
using ld = long double;

using vi = vector<int>;
using vvi = vector<vi>;
using vll = vector<ll>;
using vvll = vector<vll>;
using vld = vector<ld>;
using vvld = vector<vld>;

#define fi first
#define se second
#define pb push_back
#define all(a) a.begin(),a.end()
#define rep(i,start,end) for(ll i=start;i<(ll)(end);i++)
#define per(i,start,end) for(ll i=start;i>=(ll)(end);i--)

int main(){
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  ll x;
  cin>>x;

  rep(i,0,70){
    ll check=(x^i);
    if(bitset<64>(check).count()==i&&check>0){
      cout<<check<<endl;
      return 0;
    }
  }

  cout<<-1<<endl;
}