#include <bits/stdc++.h>
using namespace std;
using namespace std;
const int mod = (int)1e9 + 7;
const long long INF = (long long)(1e18);
const int N = 100005;
long long l, r, x;
vector<long long> out;
vector<long long> nums;
int main() {
  cin >> l >> r >> x;
  long long sz = min(r - l + 1, 10LL);
  long long res = INF;
  for (int i = 0; i < (1 << sz); ++i) {
    int cnt = 0;
    long long now = 0;
    nums.clear();
    for (int j = 0; j < sz; ++j)
      if (i & (1 << j)) {
        ++cnt;
        now ^= l + j;
        nums.push_back(l + j);
      }
    if (cnt <= x && cnt) {
      if (res > now) {
        res = now;
        out = nums;
      }
    }
  }
  long long now = l, num = 3;
  while (now > 1) {
    now /= 2;
    num *= 2;
  }
  if (x >= 3 && num <= r) {
    res = 0;
    out.clear();
    out.push_back(l);
    out.push_back(num);
    out.push_back(l ^ num);
  }
  cout << res << "\n";
  cout << out.size() << "\n";
  for (int i = 0; i < (int)out.size(); ++i) {
    cout << out[i] << " ";
  }
  cout << "\n";
  return 0;
}
