import java.util.*; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] p = new int[n]; Queue que = new ArrayDeque<>(); que.add(0); Integer a; while((a = que.poll()) != null && p[n-1] == 0){ int b = pop(a+1); if(a + b < n && p[a+b] == 0){ p[a+b] = p[a] + 1; que.add(a+b); } if(p[a-b]==0){ p[a-b] = p[a] + 1; que.add(a-b); } } System.out.println(p[n-1] == 0 ? -1 : p[n-1]); } static int pop(int n){ int r = 0; while(n!=0){ r+=n%2; n/=2; } return r; } }