#include <iostream>
#include <cstring>
#include <cstdio>
#define N 200005
#define mod 998244353
using namespace std;
long long fct[N];
int s[N],rk[N];
long long pow(long long a,int b)
{
    long long ans=1;
    while(b)
    {
        if(b&1)ans=ans*a%mod;
        a=a*a%mod;b>>=1;
    }
    return ans;
}
long long C(int n,int m)
{
    return fct[n]*pow(fct[m],mod-2)%mod*pow(fct[n-m],mod-2)%mod;
}
int main()
{
    long long ans=0;
    int i,n,k,cnt=0;
    scanf("%d %d",&n,&k);
    fct[0]=1;for(i=1;i<=max(n,k);++i)fct[i]=fct[i-1]*i%mod;
    for(i=1;i<=n;++i)
        {scanf("%d",&s[i]);++s[i];}
    for(i=1;i<=n;++i)
        rk[s[i]]=i;
    for(i=1;i<n;++i)
        if(rk[s[i]+1]<rk[s[i+1]+1])
            ++cnt;
    for(i=max(0,n-k);i<=cnt;++i)
        (ans+=C(cnt,i)*C(k,n-i)%mod)%=mod;
    printf("%lld\n",ans);
    return 0;
}
			   				     		 	 	 	 		 				