Few years ago, an esoteric programming language named [아희(Aheui)](http://esolangs.org/wiki/Aheui) was created. Well, actually you don't need to know about this language or Korean characters.

Aheui uses stacks and a queue, but this time we use **one stack** and ignore other stacks and queue. You can **push a number** between 2 and 9 into a stack. You can do **arithmetic operations** by popping two numbers and pushing result. And you can **duplicate** a top number.

So, when I need a big number in Aheui, making a number was not an easy work. Push, push, multiply, duplicate, push, multiply, push, add…. It takes too much time and sometimes waste of bytes. I need a shortest expressions.

## Summary

Your task is to write a function or a program which takes a number `n (0 <= n <= 1000000)` and returns concatenation of tokens.

Tokens are basically a [postfix notation](http://en.wikipedia.org/wiki/Reverse_Polish_notation). Tokens are consisted of

* Number between 2 and 9, which means "push number into stack"
* `+`, `-`, `/`, `*`, which means "pop two numbers from stack, do arithmetic operation, push the result into stack". All calculations are in integer.
* `>`, which means "duplicate a top number"

Tokens will be concatenated with empty string, so `5 5 +` will be `55+`.

After calculations, `n` must be on the top of the stack.

### Sample input and output

    INPUT = 0
    OUTPUT = 22-
    (or 33-, 44-, whatever)

    INPUT = 1
    OUTPUT = 22/
    (or 32-, 33/, whatever)

    INPUT = 5
    OUTPUT = 5
    (We don't need calculations, just push)

    INPUT = 64
    OUTPUT = 88*
    (or 8>*)

    INPUT = 1337
    OUTPUT = 75*2+>*48*-
    (This may not be a shortest solution)

## Scoring

[This is a list of test cases](http://pastebin.com/ASmgRY1t). Test cases are seperated by a new line character. You may write a test script which converts those bunch of numbers to string of tokens, or you can do it by your hand.

Let

* `S` = size of complete function or program
* `O` = length of converted strings
* `I` = size of test cases (In this case, `I = 526`)

Then your score will be `S * (O / I)`. Sizes are in bytes.

`S` includes function declarations, `#include`s, `import`s, whatever. Test script is not counted.

## Scoring example

Let `S` is `150`.

### Sample Test cases

    0
    1
    5
    64
    1337

### Sample Output

    22-22/588*75*2+>*48*-

In this case, `I = 9`, and `O = 21`. So your score is `150 * (21 / 9) = 350`.

## Rules

* [Standard "loopholes"](https://codegolf.meta.stackexchange.com/q/1061/9275) are forbidden.
* Lowest score wins.
* If there is a tie, smaller code size wins.
* Winner will be selected after three weeks (2014-08-04).

---

I wrote a [validator in Node.js](https://gist.github.com/Snack-X/61cb01e800b0b4ff475e). Put `input.txt` and `output.txt` in same directory, and run `node validator.js`.

And I found [two-year-old similar question](http://codegolf.stackexchange.com/questions/5271/generate-number-in-reverse-polish-notation). But scoring is different (this question includes code size in score), and this question can't use 1. So I hope it's not a duplicate.