import java.util.*;
import java.io.*;
public class Main {
    static InputStreamReader r;
    public static void main(String[] args) throws Exception {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    }

    public static String nextString() throws Exception {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    }

    public static int nextInt() throws Exception {
        return Integer.parseInt(nextString());
    }

    public static long nextLong() throws Exception {
        return Long.parseLong(nextString());
    }

    public static double nextDouble() throws Exception {
        return Double.parseDouble(nextString());
    }
} import java.util.*; util.* java import java.io.*; io.* java public class Main {
    static InputStreamReader r;
    public static void main(String[] args) throws Exception {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    }

    public static String nextString() throws Exception {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    }

    public static int nextInt() throws Exception {
        return Integer.parseInt(nextString());
    }

    public static long nextLong() throws Exception {
        return Long.parseLong(nextString());
    }

    public static double nextDouble() throws Exception {
        return Double.parseDouble(nextString());
    }
} Main static InputStreamReader r; r public static void main(String[] args) throws Exception {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    } main {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    } r = new InputStreamReader(System.in) r new InputStreamReader(System.in) int N = nextInt(); N nextInt() nextInt int min = 200005; min 200005 int ans = 0; ans 0 for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        } {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        } int Pi = nextInt(); Pi nextInt() nextInt if (Pi < min) {
                min = Pi;
                ans++;
            } Pi < min Pi min {
                min = Pi;
                ans++;
            } min = Pi min Pi ans++ ans System.out.println(ans) System.out.println System.out System System.out ans String[] args args public static String nextString() throws Exception {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    } nextString {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    } String res = ""; res "" while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        } true {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        } int c = r.read(); c r.read() r.read r if (c == 32 || c == 10 || c == -1) {
                break;
            } c == 32 || c == 10 || c == -1 c == 32 || c == 10 || c == -1 c == 32 c 32 c == 10 c 10 c == -1 c -1 1 {
                break;
            } break; res += (char)c res (char)c return res; res public static int nextInt() throws Exception {
        return Integer.parseInt(nextString());
    } nextInt {
        return Integer.parseInt(nextString());
    } return Integer.parseInt(nextString()); Integer.parseInt(nextString()) Integer.parseInt Integer nextString() nextString public static long nextLong() throws Exception {
        return Long.parseLong(nextString());
    } nextLong {
        return Long.parseLong(nextString());
    } return Long.parseLong(nextString()); Long.parseLong(nextString()) Long.parseLong Long nextString() nextString public static double nextDouble() throws Exception {
        return Double.parseDouble(nextString());
    } nextDouble {
        return Double.parseDouble(nextString());
    } return Double.parseDouble(nextString()); Double.parseDouble(nextString()) Double.parseDouble Double nextString() nextString public class Main {
    static InputStreamReader r;
    public static void main(String[] args) throws Exception {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    }

    public static String nextString() throws Exception {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    }

    public static int nextInt() throws Exception {
        return Integer.parseInt(nextString());
    }

    public static long nextLong() throws Exception {
        return Long.parseLong(nextString());
    }

    public static double nextDouble() throws Exception {
        return Double.parseDouble(nextString());
    }
} public class Main {
    static InputStreamReader r;
    public static void main(String[] args) throws Exception {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    }

    public static String nextString() throws Exception {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    }

    public static int nextInt() throws Exception {
        return Integer.parseInt(nextString());
    }

    public static long nextLong() throws Exception {
        return Long.parseLong(nextString());
    }

    public static double nextDouble() throws Exception {
        return Double.parseDouble(nextString());
    }
} Main
import java.util.*;
import java.io.*;
public class Main {
    static InputStreamReader r;
    public static void main(String[] args) throws Exception {
        r = new InputStreamReader(System.in);
        int N = nextInt();
        int min = 200005;
        int ans = 0;
        for (int i = 0; i < N; i++) {
            int Pi = nextInt();
            if (Pi < min) {
                min = Pi;
                ans++;
            }
        }

        System.out.println(ans);
    }

    public static String nextString() throws Exception {
        String res = "";
        while (true) {
            int c = r.read();
            if (c == 32 || c == 10 || c == -1) {
                break;
            }
            res += (char)c;
        }
        return res;
    }

    public static int nextInt() throws Exception {
        return Integer.parseInt(nextString());
    }

    public static long nextLong() throws Exception {
        return Long.parseLong(nextString());
    }

    public static double nextDouble() throws Exception {
        return Double.parseDouble(nextString());
    }
}