#include <stdio.h>

#include <stdlib.h>

#include <time.h>


void printRandRange(int N){

int i, tmp, *memo;

srand(time(NULL));

memo = (int*)malloc(sizeof(int)*N);

for(i=0;i<N;i++){

memo[i] = 0;

}

for(i=0;i<N;i++){

do{

tmp = rand()%N;

}while(memo[tmp]);

memo[tmp] = 1;

printf("%d : -> %d\n", i+1, tmp+1);

}

free(memo);

}


int main(void){

int N;

scanf("%d", &N);

printRandRange(N);

return 0;

}


//나왔던 수 저장 안하고 하는 방법 존재?