#ifndef ONLINE_JUDGE #define _GLIBCXX_DEBUG #endif #include #include using namespace std; using ll=long long; using ld=long double; using st=string; using P=pair; typedef atcoder::modint mint; ll inf=9e18; template auto vec(const ll (&sizes)[s], const T& init = T()){ if constexpr(i < s) return vector(sizes[i], vec(sizes, init)); else return init; } int main(){ ll k,n; cin>>k>>n; auto v=vec({k+1},0); for(ll i=1;i<=k;i++){ cin>>v[i]; } for(ll i=0;i=i-1){ ans=min(ans,(v[i-1]-1)%n+1); } // cout<=k-i){ ans=min(ans,n-(v[i]-1)%n); } if(ans==inf) cout<<"-1\n"; else cout<