#include <bits/stdc++.h>
int dr[] = {2, 2, -2, -2, 1, -1, 1, -1};
int dc[] = {1, -1, 1, -1, 2, 2, -2, -2};
int dr1[] = {0, 0, 1, 1, 1, -1, -1, -1};
int dc1[] = {-1, 1, -1, 0, 1, -1, 0, 1};
int dr2[] = {-1, -1, -1};
int dc2[] = {-1, 1, 0};
using namespace std;
vector<long long int> adj[100002];
long long int chuti[100002], ashbe[100002];
int main() {
  long long int n, m, k, i, j;
  while (cin >> n >> m >> k) {
    memset(chuti, 0, sizeof(chuti));
    memset(ashbe, 0, sizeof(ashbe));
    vector<long long int> v;
    for (i = 1; i <= k; i++) v.push_back(1);
    ashbe[1] = k;
    chuti[n] = k;
    long long int ans = 0, lab = k;
    for (i = 2; i <= n + m; i++) {
      long long int x = chuti[i];
      lab += ashbe[i];
      if (lab == chuti[i]) {
        v.push_back(i);
        lab++;
        ashbe[i] = 1;
      }
      if (lab < k) {
        for (j = lab + 1; j <= k; j++) v.push_back(i);
        ashbe[i] += (k - lab);
        lab = k;
      }
      long long int y = ashbe[i];
      lab -= x;
      ashbe[i + m + 1] += x;
      chuti[i + n - 1] += y;
    }
    cout << v.size() << endl;
    for (i = 0; i < v.size(); i++) cout << v[i] << " ";
    cout << endl;
  }
  return 0;
}
