import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  }
} import java.util.Scanner; Scanner java.util public class Main {

  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  }
} Main public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  } main {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long h = sc.nextLong(); h sc.nextLong() sc.nextLong sc if (h == 1) {
      System.out.println(1);
      return;
    } h == 1 h 1 {
      System.out.println(1);
      return;
    } System.out.println(1) System.out.println System.out System System.out 1 return; long cnt = 1; cnt 1 while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    } h / 2 > 1 h / 2 h 2 1 {
      h = h / 2;
      cnt++;
    } h = h / 2 h h / 2 h 2 cnt++ cnt Double d = 0d; d 0d for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    } long i = 0; long i = 0; i 0 i < cnt + 1 i cnt + 1 cnt 1 i++ i++ i {
      d += Math.pow(2, i);
    } {
      d += Math.pow(2, i);
    } d += Math.pow(2, i) d Math.pow(2, i) Math.pow Math 2 i System.out.println(d.longValue()) System.out.println System.out System System.out d.longValue() d.longValue d String[] args args public class Main {

  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  }
} public class Main {

  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  }
} Main
import java.util.Scanner;

public class Main {

  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スタブ
    Scanner sc = new Scanner(System.in);

    long h = sc.nextLong();

    if (h == 1) {
      System.out.println(1);
      return;
    }
    // n段のピラミッド
    long cnt = 1;
    while (h / 2 > 1) {
      h = h / 2;
      cnt++;
    }

    Double d = 0d;
    for (long i = 0; i < cnt + 1; i++) {
      d += Math.pow(2, i);
    }
    System.out.println(d.longValue());
  }
}
