func_code_string: #include <bits/stdc++.h>   using namespace std;   const int mod = 1e6 + 3;   int toint(string s) {     int ans = 0;     for (char x : s) ans = ans * 10 + (x -  0 );     return ans;   }   int lcs(string a, string b) {     int n = a.size(), m = b.size();     int dp[2][m + 1];     for (int i = 0; i <= n; i++) {       for (int j = 0; j <= m; j++) {         if (i == 0 || j == 0)           dp[i % 2][j] = 0;         else {           if (a[i - 1] == b[j - 1])             dp[i % 2][j] = 1 + dp[1 - i % 2][j - 1];           else             dp[i % 2][j] = max(dp[i % 2][j - 1], dp[1 - i % 2][j]);         }       }     }     return dp[n % 2][m];   }   int sum(int x) {     int s = 0;     while (x) {       s += x % 10;       x /= 10;     }     return s;   }   bool equal(string s) {     for (int i = 0, j = s.size() / 2; j < s.size(); i++, j++) {       if (s[i] != s[j]) return false;     }     return true;   }   long long fact(int n) {     long long ans = 1;     for (int i = 2; i < n + 1; i++) ans = (ans * i) % mod;     return ans;   }   unsigned long long f(long long a, long long x) {     if (a < 0) return 0;     return (a / x + 1);   }   bool comp(pair<int, int> a, pair<int, int> b) {     if (a.second == b.second) return a.first > b.first;     return a.second > b.second;   }   long long power(long long a, long long b) {     if (b == 0) return 1;     long long ans = power(a, b / 2);     ans = (ans * ans) % mod;     if (b % 2 == 1) ans = (ans * a) % mod;     return ans;   }   int main() {     int n, k;     cin >> n >> k;     int a[n];     for (int i = 0; i < n; i++) cin >> a[i];     int ans = INT_MAX, ind = -1;     for (int i = 0; i < k; i++) {       int j = i;       int total = 0;       do {         total += a[j];         j = (j + k) % n;       } while (j != i);       if (total < ans) {         ans = total;         ind = i + 1;       }     }     cout << ind << endl;   }   