# Positional Awareness

Your task is to generate a program that, for every permutation of its characters (which includes the original program), outputs the positions of every character relative to the original program.

Derp


you must output

[0, 1, 2, 3]


(or some equivalent). This is because D is in the 0th position, e is in the 1st, r the 2nd, and p the 3rd.

Let's take another program which is the original program, but with its characters permuted:

epDr


You must output

[1, 3, 0, 2]


because e is in the 1st position of the original program, p is in the 3rd position, D the 0th, and r the 2nd.

If the original program has two repeating characters:

abcda -> [0, 1, 2, 3, 4]


Then for the permutation, the 0 and the 4 in the array must be in ascending order:

baadc -> [1, 0, 4, 3, 2] (0 first, then 4)


# Rules:

• Your program must contain at least two unique characters.
• At most floor(n/2) characters are to be the same.

 aabb (acceptable)
aaaabc (not acceptable, only floor(6/2) = 3 a's allowed)

• Your program's output can be either an array (or something similar) containing all the characters' positions in order, or a string with any delimiter, so these are perfectly fine:

[0, 1, 2, 3]
0,1,2,3
0 1 2 3

• I don't believe this challenge allows for any non-trivial solution as virtually any answer in any language of length >= ~5 will not be a valid program for every permutation, let alone a program that solves the challenge at hand. – orlp Dec 21 '16 at 5:32
• @Qwerp-Derp Almost nobody says anything on the sandbox. A while ago, I've posted a question after being in the sandbox for around a month (or so). And only when I've posted it, was when people pointed out mistakes and the downvotes rained. In my honest opinion, the sandbox is useless. – Ismael Miguel Dec 21 '16 at 10:33
• For once, I feel like in this challenge, a longer answer would be more impressive than a shorter one. – Wojowu Dec 21 '16 at 13:05
• @Wojowu I can make it code-bowling, if that's possible - the longest program wins. – clismique Dec 21 '16 at 14:02
• Would the program 12 in R be valid? It would simply print 12 and if permuted; 21. – Billywob Dec 21 '16 at 14:48

# Actually, 2 bytes

10


Try it online!

This prints

0
1


while the (only) other permutation

01


prints

1
0


### How it works

In Actually, consecutive digits are parsed separately, so 10 pushes 1 on the stack, then 0 on top of it.

When the program finishes, the stack is printed top to bottom, so it prints 0 first, then a linefeed, then 1.

The derranged program 01 does the same, in the opposite order.

• Other languages this works in; Seriously, 05ab1e, ///, 2sable. – Teal pelican Dec 21 '16 at 11:30
• The spec says the numbers have to be separated. It does work in Seriously, but Actually is actually just Seriously 2.0. – Dennis Dec 21 '16 at 11:32

# Jelly, 2 bytes

;J


Try it online!

Outputs: [0, 1]

Other permutation J; outputs: [1, 0]

### How it works:

;J
;          Concats 0 with...
J         [1...len(z)], here just [1]

J;
J          [1...len(z)], here just [1]
;         ...Concatted with 0