Problem:
Score : 200 points

Problem Statement

Print all the integers that satisfies the following in ascending order:

Among the integers between A and B (inclusive), it is either within the K smallest integers or within the K largest integers.

Constraints

1 \leq A \leq B \leq 10^9

1 \leq K \leq 100

All values in input are integers.

Input

Input is given from Standard Input in the following format:

A B K

Output

Print all the integers that satisfies the condition above in ascending order.

Sample Input 1

3 8 2

Sample Output 1

3
4
7
8

3 is the first smallest integer among the integers between 3 and 8.

4 is the second smallest integer among the integers between 3 and 8.

7 is the second largest integer among the integers between 3 and 8.

8 is the first largest integer among the integers between 3 and 8.

Sample Input 2

4 8 3

Sample Output 2

4
5
6
7
8

Sample Input 3

2 9 100

Sample Output 3

2
3
4
5
6
7
8
9

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

import java.util.*;

class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
    	int a = sc.nextInt();
    	int b = sc.nextInt();
    	int k = sc.nextInt();
		//三つの数取得
    	ArrayList<Integer> list = new ArrayList<>();
		//空のlist作成
    
    	if(b-a+1>=k){
      		for(int i=0; i<k; i++){
        	list.add(a);
        	a++;
        	list.add(b);
        	b--;
      	}
    	}else{
        	for(int j=a; j<=b; j++){
          	list.add(j);
        	}
    	}
		//Aに1からKまで足した数をすべてlistに追加
		//Bに1からKまで引いた数をすべてlistに追加
		ArrayList<Integer> result = new ArrayList<Integer>(new HashSet<>(list));
		//listをhashmapにして重複削除
    	for(int s=0; s<result.size(); s++){
          System.out.println(result.get(s));
    	}
		//listの出力
    }
}