You are given an array of positive integers a1, a2, ..., an × T of length n × T. We know that for any i > n it is true that ai = ai - n. Find the length of the longest non-decreasing sequence of the given array.

Input

The first line contains two space-separated integers: n, T (1 ≤ n ≤ 100, 1 ≤ T ≤ 107). The second line contains n space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 300).

Output

Print a single number — the length of a sought sequence.

Examples

Input

4 3
3 1 4 2


Output

5

Note

The array given in the sample looks like that: 3, 1, 4, 2, 3, 1, 4, 2, 3, 1, 4, 2. The elements in bold form the largest non-decreasing subsequence. 
import java.util.Scanner;

/**
 * Created by Cathy on 10/3/15.
 */
public class D {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int T = sc.nextInt();
        int size = 0;
        int res = 0;
        if (T < n)
            size = T;
        else {
            size = n;
            res = T - n;
        }

        int[] array = new int[n * size];
        int[] opt = new int[size * n];
        int[] t = new int[302];
        int k = 0;
        for (int i = 0; i < n; i++) {
            array[i] = sc.nextInt();
            t[array[i]]++;
            if (k < t[array[i]])
                k = t[array[i]];
        }

        for (int i = n; i < size * n; i++) {
            array[i] = array[i % n];
        }

        for (int i = 0; i < size * n; i++) {
            for (int j = 0; j < i; j++) {
                if (array[j] <= array[i] && opt[j] >= opt[i]) {
                    opt[i] = opt[j];
                }
            }
            opt[i]++;
        }

        int max = 0;
        for (int i = 0; i < size * n; i++) {
            //if (i % n == 0)
            //    System.out.println();
            //System.out.print(opt[i] + " ");
            if (opt[i] > max)
                max = opt[i];
        }

        System.out.println(max + res * k);


    }
}
