import std.algorithm;
import std.bigint;
import std.concurrency;
import std.container;
import std.conv;
import std.functional;
import std.math;
import std.meta;
import std.random;
import std.range;
import std.stdio;
import std.string;
import std.traits;
import std.typecons;


auto solve(long N, long[] H) {
    int move;
    int ans;
    foreach (i; 0 .. cast(int) N) {
        if (i == N - 1) {
            ans = max(ans, move);
            break;
        }
        
        if (H[i] >= H[i + 1]) {
            move++;
        } else {
            ans = max(ans, move);
            move = 0;
        }
    }
    return ans;
}


void main() {
    auto input = stdin.byLine.map!split.joiner;

    long N;
    N = input.front.to!long;
    input.popFront;

    long[] H = new long[](cast(size_t) (N));
    foreach (i; 0 .. cast(size_t) (N)) {
        H[i] = input.front.to!long;
        input.popFront;
    }

    static if (is(ReturnType!solve == void))
        solve(N, H);
    else
        solve(N, H).writeln;
}
