Problem:
Score : 300 points

Problem Statement

Given is a permutation P_1, \ldots, P_N of 1, \ldots, N.
Find the number of integers i (1 \leq i \leq N) that satisfy the following condition:

For any integer j (1 \leq j \leq i), P_i \leq P_j.

Constraints

1 \leq N \leq 2 \times 10^5

P_1, \ldots, P_N is a permutation of 1, \ldots, N.

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
P_1 ... P_N

Output

Print the number of integers i that satisfy the condition.

Sample Input 1

5
4 2 5 1 3

Sample Output 1

3

i=1, 2, and 4 satisfy the condition, but i=3 does not - for example, P_i > P_j holds for j = 1.

Similarly, i=5 does not satisfy the condition, either. Thus, there are three integers that satisfy the condition.

Sample Input 2

4
4 3 2 1

Sample Output 2

4

All integers i (1 \leq i \leq N) satisfy the condition.

Sample Input 3

6
1 2 3 4 5 6

Sample Output 3

1

Only i=1 satisfies the condition.

Sample Input 4

8
5 7 4 2 6 8 1 3

Sample Output 4

4

Sample Input 5

1
1

Sample Output 5

1

Solution in C# (Mono 4.6.2.0) (judge verdict: Wrong Answer)

using System;
using System.Collections.Generic;
using System.Linq;
 
static class MainClass {
  public static void Main (string[] args) {
    var N = long.Parse(Console.ReadLine());
    var list = Console.ReadLine().Split(' ').Select(long.Parse).ToList();
    var ans = new List<long>();
    var c = 0;
    var min = list.Max();
    for(var i = 0; i < N; i++){
      if(min > list[i]){
        min = list[i];
        c++;
      }
    }

    Console.WriteLine(c); 
  }

  static long ModPow (long a, long n, long p) {
    if(n == 1) return a % p;

    if (n % 2 == 1) return (a * ModPow(a, n - 1, p)) % p;

    var t = ModPow(a, n / 2, p);
    return (t * t) % p;
  }

  static long Combination(long n, long a){
    var ary1 = Enumerable.Range((int)n - (int)a + 1, (int)a);
    var ary2 = Enumerable.Range(1, (int)a);
    return ary1.Aggregate((e, next) => e * next) / ary2.Aggregate((e, next) => e * next);
  }

}