Problem: Little Victor adores the sets theory. Let us remind you that a set is a group of numbers where all numbers are pairwise distinct. Today Victor wants to find a set of integers S that has the following properties:

  * for all x <image> the following inequality holds l ≤ x ≤ r; 
  * 1 ≤ |S| ≤ k; 
  * lets denote the i-th element of the set S as si; value <image> must be as small as possible. 



Help Victor find the described set.

Input

The first line contains three space-separated integers l, r, k (1 ≤ l ≤ r ≤ 1012; 1 ≤ k ≤ min(106, r - l + 1)).

Output

Print the minimum possible value of f(S). Then print the cardinality of set |S|. Then print the elements of the set in any order.

If there are multiple optimal sets, you can print any of them.

Examples

Input

8 15 3


Output

1
2
10 11


Input

8 30 7


Output

0
5
14 9 28 11 16

Note

Operation <image> represents the operation of bitwise exclusive OR. In other words, it is the XOR operation.

Solution (in PYTHON3):

Solution:
"""
Codeforces Contest 262 Div 2 Problem D

Author  : chaotic_iak
Language: Python 3.3.4
"""

import functools, itertools

def main():
    l,r,k = read()

    tl = l + l%2
    if tl+3 <= r and k >= 4:
        print(0)
        print(4)
        print(tl, tl+1, tl+2, tl+3)
        return

    if k >= 3:
        # 0111111 = 2^i * 2 - 1
        # 1011111 = 2^i * 3 - 1
        # 1100000 = 2^i * 3
        # -> xored is 0
        for i in range(0, 50): # log2(10**12) < 50
            if l <= 2**i * 2 - 1 and 2**i * 3 <= r:
                print(0)
                print(3)
                print(2**i * 2 - 1, 2**i * 3 - 1, 2**i * 3)
                return

    if tl+1 <= r and k >= 2:
        print(1)
        print(2)
        print(tl, tl+1)
        return

    # now there are either at most 2 numbers, or k = 1
    if k == 1 or l == r:
        print(l)
        print(1)
        print(l)
        return

    # there are at most 2 numbers, bruteforce
    if l^r < l:
        print(l^r)
        print(2)
        print(l,r)
    else:
        print(l)
        print(1)
        print(l)

################################### NON-SOLUTION STUFF BELOW

def read(mode=2):
    # 0: String
    # 1: List of strings
    # 2: List of integers
    inputs = input().strip()
    if mode == 0: return inputs
    if mode == 1: return inputs.split()
    if mode == 2: return list(map(int, inputs.split()))

def write(s="\n"):
    if s is None: s = ""
    if isinstance(s, list): s = " ".join(map(str, s))
    s = str(s)
    print(s, end="")

write(main())