Problem:
Score : 300 points

Problem Statement

Takahashi is a teacher responsible for a class of N students.

The students are given distinct student numbers from 1 to N.

Today, all the students entered the classroom at different times.

According to Takahashi's record, there were A_i students in the classroom when student number i entered the classroom (including student number i).

From these records, reconstruct the order in which the students entered the classroom.

Constraints

1 \le N \le 10^5

1 \le A_i \le N

A_i \neq A_j (i \neq j)

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
A_1 A_2 \ldots A_N

Output

Print the student numbers of the students in the order the students entered the classroom.

Sample Input 1

3
2 3 1

Sample Output 1

3 1 2

First, student number 3 entered the classroom.

Then, student number 1 entered the classroom.

Finally, student number 2 entered the classroom.

Sample Input 2

5
1 2 3 4 5

Sample Output 2

1 2 3 4 5

Sample Input 3

8
8 2 7 3 4 5 6 1

Sample Output 3

8 2 4 5 6 7 3 1

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.Arrays;
import java.util.Scanner;
import java.util.stream.IntStream;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] a = IntStream.range(0, n).map(i -> sc.nextInt()).toArray();
		sc.close();
		Student[] students = new Student[n];
		for (int i = 0; i < n; i++) {
			students[i] = new Student(i + 1, a[i]);
		}
		Arrays.sort(students);
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < n; i++) {
			sb.append(i > 0 ? " " : "");
			sb.append(students[i].getId());
		}
		System.out.println(sb.toString());
	}

	public static class Student implements Comparable<Student> {
		private int id;
		private int order;

		public Student(int id, int order) {
			this.id = id;
			this.order = order;
		}

		public int getId() {
			return id;
		}

		public int getOrder() {
			return order;
		}

		@Override
		public int compareTo(Student target) {
			if (this.order > target.getOrder()) {
				return 1;
			} else if (this.order < target.getOrder()) {
				return -1;
			}

			return 0;
		}
	}
}