#include <bits/stdc++.h>
#pragma GCC optimize("-O3")
using namespace std;
void _main();
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  _main();
}
const int inf = INT_MAX / 2;
const long long infl = 1LL << 60;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
template <typename T>
struct FastCHT {
  vector<pair<T, T> > lines;
  bool comp(T l, T r) { return l >= r; }
  int head = 0;
  bool check(pair<T, T> l1, pair<T, T> l2, pair<T, T> l3) {
    if (l1 < l3) std::swap(l1, l3);
    return ((long double)l3.second - (long double)l2.second) *
               ((long double)l2.first - (long double)l1.first) >=
           ((long double)l2.second - (long double)l1.second) *
               ((long double)l3.first - (long double)l2.first);
  }
  T f(int i, T x) { return lines[i].first * x + lines[i].second; }
  T f(pair<T, T> line, T x) { return line.first * x + line.second; }
  void add(T a, T b) {
    pair<T, T> line(-a, -b);
    while (lines.size() >= 2 && check(*(lines.end() - 2), lines.back(), line))
      lines.pop_back();
    lines.emplace_back(line);
  }
  T get(T x) {
    while (lines.size() - head >= 2 && comp(f(head, x), f(head + 1, x))) ++head;
    return -f(head, x);
  }
};
void _main() {
  FastCHT<double> cht;
  int Q;
  cin >> Q;
  int ma = 0;
  double sm = 0;
  double N = 0;
  for (int _ = 0; _ < Q; _++) {
    int t;
    cin >> t;
    if (t == 1) {
      int x;
      cin >> x;
      N++;
      sm += ma;
      ma = x;
      if (ma) {
        double a = (N - 1) / N;
        double b = -sm / N;
        cht.add(a, b);
      }
    } else {
      if (N == 1)
        printf("0\n");
      else {
        double ans = cht.get(ma);
        printf("%.10f\n", ans);
      }
    }
  }
}
