#include #include using namespace std; using ll = long long; #define rep(i,n) for(int i=0;i<(int)(n);i++) using mint = atcoder::modint; int main(){ int n,b; cin>>n>>b; vector a(n); rep(i,n) cin>>a.at(i); mint::set_mod(b); mint ans=0; map mp; vector v(n+1,-1); rep(i,n){ if(mp.count(a.at(i))){ if(mp.at(a.at(i))==1){ ans+=mint(2).pow(v.at(a.at(i))); } mp.at(a.at(i))++; }else{ mp[a.at(i)]++; ans+=mint(2).pow(n-mp.size()); v.at(a.at(i))=n-mp.size(); } cout<