#include <bits/stdc++.h>
using namespace std;
int ans[100005];
int main() {
  stack<int> s;
  int n, ar[100005], i, j;
  cin >> n;
  for (i = 0; i < n; i++) cin >> ar[i];
  for (i = n - 1; i >= 0; i--) {
    while (s.size() && ar[i] > ar[s.top()]) {
      ans[i] = max(ans[i] + 1, ans[s.top()]);
      s.pop();
    }
    s.push(i);
  }
  cout << *max_element(ans, ans + n);
  return 0;
}
