#include <bits/stdc++.h>
using namespace std;
int fact(int n) {
  if (n == 0)
    return 1;
  else
    return n * fact(n - 1);
}
void divisor(int n) {
  vector<long long int> a(n + 1);
  for (int i = 1; i <= n; i++) {
    for (int j = i; j <= n; j += i) {
      a[j]++;
    }
    cout << a[i] << " ";
  }
}
void divisor2(int n) {
  int cnt = 0;
  for (int i = 1; i <= sqrt(n); i++) {
    if (n % i == 0) cnt++;
    if (n / i != i) cnt++;
  }
  cout << cnt;
}
void isPrime_sieve(int n) {
  bool marked[10005];
  memset(marked, true, sizeof(marked));
  for (int i = 2; i * i <= n; i++) {
    if (marked[i] == true) {
      for (int j = i * i; j <= n; j += i) {
        marked[j] = false;
      }
    }
  }
  for (int i = 2; i <= n; i++) {
    if (marked[i]) {
      cout << i << " ";
    }
  }
}
bool isPrime(long long int n) {
  if (n == 2 || n == 3) {
    return true;
  }
  if (n < 2 || n % 2 == 0) {
    return false;
  }
  for (long long int i = 3; i <= sqrt(n); i += 2) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
}
void move_brackets(int n, string s) {
  int op = 0, len = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == '(') {
      op++;
    } else {
      if (op) {
        op--;
        len += 2;
      }
    }
  }
  cout << (n - len) / 2 << '\n';
}
long long int DigitSum(long long int num) {
  long long int sum{0};
  while (num != 0) {
    sum += (num % 10);
    num /= 10;
  }
  return sum;
}
const long long int mx = 1e9 + 123;
int main(void) {
  long long int t, b, r, d, n, m, mx;
  cin >> n;
  cout << n / 2 << '\n';
}
