#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T lcm(T a, T b) {
  return a / gcd(a, b) * b;
}
template <typename T>
void debug(T first) {
  cout << first << "\n";
}
template <typename T, typename... Args>
void debug(T first, Args... args) {
  cout << first << " ";
  debug(args...);
}
long long read_ll() {
  char c = getchar();
  while ((c < '0' || c > '9') && c != '-') c = getchar();
  long long ret = 0;
  int neg = 0;
  if (c == '-') neg = 1, c = getchar();
  while (c >= '0' && c <= '9') {
    ret = 10 * ret + c - 48;
    c = getchar();
  }
  return neg ? -ret : ret;
}
const int N = 100;
long long dp[N + 2][4001];
struct item {
  long long t, p, d, pos;
};
bool cmp(item a, item b) { return a.d < b.d; }
int main() {
  int k, n, s, p;
  cin >> k >> n >> s >> p;
  int perp = ceil((float)n / s);
  int ts = k * perp;
  int ans = ceil((float)ts / p);
  cout << ans;
  return 0;
}
