#include <bits/stdc++.h>
using namespace std;
int toInt(string s) {
  istringstream sin(s);
  int t;
  sin >> t;
  return t;
}
template <class T>
string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
template <class T>
void checkmin(T &t, T f) {
  if (t > f) t = f;
}
template <class T>
void checkmax(T &t, T f) {
  if (t < f) t = f;
}
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  int i, j;
  vector<int> v;
  for (i = (0); i < (k); i++) v.push_back(1);
  if (n - m >= 2) {
    int r = (n - m + 1) / 2;
    for (i = (0); i < (k); i++) v.push_back(n - r + 1);
  } else if (n - m == 1) {
    v.push_back(n);
    v.push_back(n + 1);
    for (i = (2); i < (k); i++) v.push_back(n + 1);
  } else {
    v.push_back(n);
    v.push_back(n + 2);
    for (i = (1); i < (k); i++) v.push_back(n + 1);
    if (k == 1 && n == 2) v.push_back(n + 1);
  }
  sort(v.begin(), v.end());
  cout << v.size() << endl;
  for (typeof(v.begin()) it = v.begin(); it != v.end(); it++)
    cout << *it << " ";
  cout << endl;
  return 0;
}
