#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pi;
typedef pair<ll,ll> pl;
using Graph = vector<vector<int>>;
const ll INF = 1LL << 62;
const double PI = acos(-1);
const ll mod = 998244353;
const ll MOD = 1000000007;
template<class T> void chmin(T &a,T b){if(a>b)a=b;}
template<class T> void chmax(T &a,T b){if(a<b)a=b;}

int main(){
  int N;cin >> N;
  int ans;
  if(N%100 == 0) ans = N/100;
  else ans = N/100+1;
  cout << ans << endl;
}
#include <algorithm>
#include <cassert>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <vector>

// #include <atcoder/all>
/*
cd $dir && g++ -std=c++17 -Wall -Wextra -O2 -DATCODERDEBUG
-I/mnt/d/MyProjects/atcoder/lib/ac-library $fileName && echo 'compilation ok!'
&&  ./a.out
*/
using namespace std;
#define REP(i, n) for (ll i = 0; i < ll(n); i++)
#define FOR(i, a, b) for (ll i = a; i <= ll(b); i++)
#define ALL(x) x.begin(), x.end()
#define dame(a)        \
  {                    \
    cout << a << endl; \
    return 0;          \
  }
typedef long long ll;

ll __per__(ll a, ll b) {
  if (a >= 0) return a % b;
  return (((-a - 1LL) / b) + 1LL) * b + a;
}

class dstream : public ostream {};

template <typename T>
dstream &operator<<(dstream &os, const T &v) {
#ifdef ATCODERDEBUG
  cout << "\033[1;31m" << v << "\033[0m";
#endif
  return os;
}

ostream &endd(std::ostream &out) {
#ifdef ATCODERDEBUG
  out << std::endl;
#endif
  return out;
}
dstream dout;

template <typename T>
ostream &operator<<(ostream &os, const vector<T> &v) {
  os << "[ ";
  for (auto const &x : v) {
    os << x;
    if (&x != &v.back()) {
      os << " : ";
    }
  }
  os << " ]";
  return os;
}

ostream &operator<<(ostream &os, const vector<bool> &v) {
  os << "[ ";
  for (size_t i = 0; i < v.size(); i++) {
    os << v[i];
    if (i != v.size() - 1) {
      os << " : ";
    }
  }
  os << " ]";
  return os;
}

template <typename T>
ostream &operator<<(ostream &os, const vector<vector<T>> &v) {
  os << "[" << endl;
  for (auto const &x : v) {
    os << " ";
    os << x;
    os << endl;
  }
  os << "]";
  return os;
}

template <typename T, typename U>
ostream &operator<<(ostream &os, const map<T, U> &v) {
  os << "{" << endl;
  for (auto const &x : v) {
    os << " ";
    os << x;
  }
  os << "}" << endl;
  return os;
}

template <typename T, typename U>
ostream &operator<<(ostream &os, const unordered_map<T, U> &v) {
  os << "{" << endl;
  for (auto const &x : v) {
    os << " ";
    os << x;
  }
  os << "}" << endl;
  return os;
}

template <typename T>
ostream &operator<<(ostream &os, const set<T> &v) {
  os << "{";
  for (auto const &x : v) {
    os << " ";
    os << x;
  }
  os << " }" << endl;
  return os;
}

template <typename T, typename U>
ostream &operator<<(ostream &os, const unordered_set<T, U> &v) {
  os << "{";
  for (auto const &x : v) {
    os << " ";
    os << x;
  }
  os << " }" << endl;
  return os;
}

template <typename T, typename U>
ostream &operator<<(ostream &os, const pair<T, U> &v) {
  os << v.first << " : " << v.second << endl;
  return os;
}

template <typename T, typename U, typename Comp = less<>>
bool chmax(T &xmax, const U &x, Comp comp = {}) {
  if (comp(xmax, x)) {
    xmax = x;
    return true;
  }
  return false;
}

template <typename T, typename U, typename Comp = less<>>
bool chmin(T &xmin, const U &x, Comp comp = {}) {
  if (comp(x, xmin)) {
    xmin = x;
    return true;
  }
  return false;
}

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  ll N;
  cin >> N;
  ll ans = (N + 99) / 100;
  cout << ans << endl;
  // cout << std::fixed << std::setprecision(15) << sqrt(ans) << endl;
}