#include <bits/stdc++.h>
#define int long long
#define inf 5e18
#define pb push_back
#define mk make_pair
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(),x.rend()
#define sitr set<int>::iterator
#define mitr map<int, int>::iterator
#define pii pair<int, int>
#define vii vector<pii>
#define vi vector<int>
#define vll vector<unsigned int>
using namespace std;
signed main()
{
int n,k;
cin>>n>>k;
vi a(n);
int sum = 0;
for(int i=0;i<n;i++) cin>>a[i], sum += a[i];
if(sum%k == 0) return cout<<0, 0;
vi pref(n);
int num = sum%k;
pref[0] = a[0]%num;
if(pref[0] == 0) return cout<<1, 0;
int mn = inf;
for(int i=1;i<n;i++) {
pref[i] = (pref[i-1] + a[i]) % num;
if(pref[i] == 0) mn = min(mn, i+1);
}
map<int,vi> mp;
for(int i=0;i<n;i++) mp[pref[i]].pb(i);
for(auto &i : mp) {
for(int j=0;j<i.second.size()-1;j++) mn = min(mn, i.second[j+1]-i.second[j]);
}
cout<<mn;
return 0;
}
/*
max factors number = 720720 --> 240 factors
max factors number = 1441440 -->288 factors
Beautiful program
Please run for me.
I've tried you in BASIC,
FORTRAN and C.
Beautiful program,
You've errors galore.
And each time I run you,
You're swapped out of core.
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGluZiA1ZTE4CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbWsgbWFrZV9wYWlyCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIHJhbGwoeCkgeC5yYmVnaW4oKSx4LnJlbmQoKQojZGVmaW5lIHNpdHIgc2V0PGludD46Oml0ZXJhdG9yCiNkZWZpbmUgbWl0ciBtYXA8aW50LCBpbnQ+OjppdGVyYXRvcgojZGVmaW5lIHBpaSBwYWlyPGludCwgaW50PgojZGVmaW5lIHZpaSB2ZWN0b3I8cGlpPgojZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiNkZWZpbmUgdmxsIHZlY3Rvcjx1bnNpZ25lZCBpbnQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKc2lnbmVkIG1haW4oKQp7CiAgICBpbnQgbixrOwogICAgY2luPj5uPj5rOwogICAgdmkgYShuKTsKICAgIGludCBzdW0gPSAwOwogICAgZm9yKGludCBpPTA7aTxuO2krKykgY2luPj5hW2ldLCBzdW0gKz0gYVtpXTsKICAgIGlmKHN1bSVrID09IDApIHJldHVybiBjb3V0PDwwLCAwOwogICAgdmkgcHJlZihuKTsKICAgIGludCBudW0gPSBzdW0lazsKICAgIHByZWZbMF0gPSBhWzBdJW51bTsKICAgIGlmKHByZWZbMF0gPT0gMCkgcmV0dXJuIGNvdXQ8PDEsIDA7CiAgICBpbnQgbW4gPSBpbmY7CiAgICBmb3IoaW50IGk9MTtpPG47aSsrKSB7CiAgICAgICAgcHJlZltpXSA9IChwcmVmW2ktMV0gKyBhW2ldKSAlIG51bTsKICAgICAgICBpZihwcmVmW2ldID09IDApIG1uID0gbWluKG1uLCBpKzEpOwogICAgfQogICAgbWFwPGludCx2aT4gbXA7CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKSBtcFtwcmVmW2ldXS5wYihpKTsKICAgIGZvcihhdXRvICZpIDogbXApIHsKICAgICAgICBmb3IoaW50IGo9MDtqPGkuc2Vjb25kLnNpemUoKS0xO2orKykgbW4gPSBtaW4obW4sIGkuc2Vjb25kW2orMV0taS5zZWNvbmRbal0pOwogICAgfQogICAgY291dDw8bW47CiAgICByZXR1cm4gMDsKfQoKCi8qCm1heCBmYWN0b3JzIG51bWJlciA9IDcyMDcyMCAtLT4gMjQwIGZhY3RvcnMKbWF4IGZhY3RvcnMgbnVtYmVyID0gMTQ0MTQ0MCAtLT4yODggZmFjdG9ycwpCZWF1dGlmdWwgcHJvZ3JhbQpQbGVhc2UgcnVuIGZvciBtZS4KSSd2ZSB0cmllZCB5b3UgaW4gQkFTSUMsCkZPUlRSQU4gYW5kIEMuCkJlYXV0aWZ1bCBwcm9ncmFtLApZb3UndmUgZXJyb3JzIGdhbG9yZS4KQW5kIGVhY2ggdGltZSBJIHJ1biB5b3UsCllvdSdyZSBzd2FwcGVkIG91dCBvZiBjb3JlLgoqLw==