#### Registered Users Only

Please login to view and utilize this feature.

## Problem Description

Jacob is participating in a tennis competition. This tennis competition has a total of *N* competitors, and the *i*th competitor has won *A _{i}* points by the end of the competition.

Jacob wants to know the rank of each of the competitors, where one's rank is determined by the number of unique scores above them, plus one. Refer to the sample cases for more details.

## Limits

For all tests: 0 ≤ A_{i} ≤ 10^{9}.

Subtask 1 (15%): 1 ≤ N ≤ 1000, A_{i} ≠ A_{j} if i ≠ j.

Subtask 2 (25%): 1 ≤ N ≤ 1000.

Subtask 3 (20%): 1 ≤ N ≤ 200000, A_{i} ≠ A_{j} if i ≠ j.

Subtask 4 (40%): 1 ≤ N ≤ 200000.

Subtask 5 (0%): Sample Testcases.

## Input

The first line of input will contain one integer, *N*.

The second line of input will contain *N* integers, representing the array *A*.

## Output

The only line of output should contain *N* integers, with the *i*th integer representing the rank of competitor *i*.

## Sample Testcase 1

### Input

5 1 4 10 4 6

### Output

4 3 1 3 2

## Sample Testcase 2

### Input

8 1 8 4 1 3 5 1 2

### Output

6 1 3 6 4 2 6 5

### Tags

### Subtasks and Limits

Subtask | Score | #TC | Time | Memory | Scoring |
---|---|---|---|---|---|

1 | 15 | 20 | 0.5s | 256MB | Minimum |

2 | 25 | 42 | 0.5s | 256MB | Minimum |

3 | 20 | 40 | 0.5s | 256MB | Minimum |

4 | 40 | 82 | 0.5s | 256MB | Minimum |

5 | 0 | 2 | 0.5s | 256MB | Minimum |

### Judge Compile Command

g++ ans.cpp -o tennis -Wall -static -O2 -lm -m64 -s -w -std=gnu++14 -fmax-errors=512