Title: There can be only 1!

Body:
Your task is, given a positive integer n, to generate an expression that equals the number n.

The catch is: you're only allowed the number 1 in the output.

The operators at your disposal are:

+, -, * and /

/ is floating-point division (so 5/2 = 2.5).

sqrt (as s)

ceil and floor (as c and f respectively)

! (factorial)

The factorial, in this case, only works for positive integers.

You are also allowed to stack 1's together, so something like 11 is acceptable in the output. However, they count as the same number of 1's that's in the number (so 11 counts as 2 1's).

You must also include brackets in the output, so that the expression in the output, when executed through the order of operations, will result in the input.
They do not count as operations, though.

Examples:

Input = 24, one possible output = (1+1+1+1)!

Input = 11, one possible output = 11

Input = 5, one possible output = c(s((1+1+1+1)!))

The ceiling of the square root of 24 is 5.

Rules:

You are guaranteed that the input is a positive integer from 1 to 2^31-1.

Your program must work for any positive integer up to 2^31-1, even if they are not tested.

Your program must finish processing all outputs for all numbers in the set in 1 hour.

The results for every run of the program must be exactly the same - also, no seeds.

You are only allowed to hardcode the expressions for a maximum of 10 numerical values.

You are not allowed to have imaginary numbers anywhere in the output (so no s(some negative number)).

You are also not allowed to have numbers larger than 2^31-1 or smaller than -2^31+1 anywhere in the output, even when they are sqrted or /ed (so no (((1+1+1)!)!)! or ((1+1+1+1)!)!).

Set of Numbers:

```<code>945536, 16878234, 32608778, 42017515, 48950830, 51483452, 52970263, 54278649, 63636656, 78817406, 89918907, 90757642, 95364861, 102706605, 113965374, 122448605, 126594161, 148064959, 150735075, 154382918, 172057472, 192280850, 194713795, 207721209, 220946392, 225230299, 227043979, 241011012, 248906099, 249796314, 250546528, 258452706, 276862988, 277140688, 280158490, 286074562, 308946627, 310972897, 322612091, 324445400, 336060042, 346729632, 349428326, 352769482, 363039453, 363851029, 392168304, 401975104, 407890409, 407971913, 425780757, 459441559, 465592122, 475898732, 482826596, 484263150, 506235403, 548951531, 554295842, 580536366, 587051904, 588265985, 588298051, 590968352, 601194306, 607771869, 618578932, 626776380, 667919873, 681786366, 689854904, 692055400, 697665495, 711608194, 734027104, 750869335, 757710567, 759967747, 777616154, 830071127, 833809927, 835873060, 836438554, 836945593, 863728236, 864158514, 871273503, 881615667, 891619600, 897181691, 918159061, 920521050, 924502226, 929983535, 943162304, 950210939, 950214176, 962610357, 974842859, 988572832
</code>```

(These are 100 random numbers from 1 to 1 billion.)

Scoring System:

Your score is determined like so:

Your program will be tested against the random numbers in the set.

You must provide the output generated using the random numbers in the set (either inside your answer or as a pastebin link).

Your then have two "scores": A primary score and a secondary score.

Your primary score is (no. of 1's in output)*(no. of operators in output). If your primary score is the lowest, you win.

Your secondary score is the time of your upload, in GMT, and in 24-hour time. So, if you upload your program on September 12th, 00:00 GMT, then your score is 12/09/2016, 00:00 (use DD/MM/YYYY HH:MM for your formatting).

Display your score like so:

```<code>(language name)
Primary Score = (primary score)
Secondary Score = (secondary score)
(no. of 1's) `1`'s, (no. of operators) operators
</code>```

Replace all the things in the brackets with your language name, primary score and secondary score respectively.

Current Winner:

The current winner is @ChrisJefferson, who has a primary score of 3,810,660.

Body:
awk

primary score 46933701

secondary score 12/09/2016 19:20

(6901 ones, 6801 ops)

{
    for(b=""; $0; $0=int($0/2))
        b=and($0, 1) b
    for(chall=""; length(b=substr(b,2)); ) {
        if(chall!="")
            chall=chall"*"
        chall=chall"(1+1)"
        if(substr(b, 1, 1)=="1") {
            chall=chall"+1"
            if(length(b)>1)
                chall="("chall")"
        }
    }
    print chall
}

Simply prints the binary representation calculated from left to right.

For example 19 is 10011 which is (((((1)*2+0)*2+0)*2+1)*2+1).

I just leave out the +0 and write the 2 as (1+1).

I was just curious about how this method would be scoring.

Output:

945536: (((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
16878234: (((((((((1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
32608778: (((((((((((1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
42017515: ((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
48950830: ((((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)
51483452: ((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)
52970263: ((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
54278649: (((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1
63636656: (((((((((((1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)
78817406: ((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)
89918907: ((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
90757642: ((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
95364861: (((((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
102706605: (((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
113965374: (((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)
122448605: (((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
126594161: ((((((((((((((1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1
148064959: (((((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
150735075: ((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
154382918: (((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)
172057472: (((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
192280850: ((((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
194713795: (((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
207721209: (((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1
220946392: (((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)
225230299: ((((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
227043979: ((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
241011012: (((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)
248906099: (((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
249796314: (((((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
250546528: ((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
258452706: (((((((((((((((((1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
276862988: (((((((1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)
277140688: ((((((((((1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)
280158490: ((((((((((((1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
286074562: (((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
308946627: ((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
310972897: ((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1
322612091: (((((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
324445400: ((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)
336060042: ((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
346729632: ((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
349428326: ((((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)
352769482: ((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
363039453: (((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
363851029: (((((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1
392168304: (((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)
401975104: ((((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
407890409: ((((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1
407971913: (((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1
425780757: ((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1
459441559: ((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
465592122: ((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
475898732: ((((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)
482826596: (((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)
484263150: (((((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)
506235403: ((((((((((((1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
548951531: ((((((((((((((1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
554295842: ((((((((((1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
580536366: ((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)
587051904: (((((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
588265985: ((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1
588298051: ((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
590968352: (((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
601194306: (((((((((((((((((1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
607771869: ((((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1
618578932: (((((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)
626776380: (((((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)
667919873: ((((((((((((((1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1
681786366: ((((((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)
689854904: (((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)
692055400: ((((((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)
697665495: ((((((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
711608194: (((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
734027104: (((((((((((((1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
750869335: (((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
757710567: ((((((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
759967747: ((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
777616154: (((((((((((((((((1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
830071127: ((((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
833809927: (((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
835873060: (((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)
836438554: ((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
836945593: (((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1
863728236: ((((((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)
864158514: (((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
871273503: (((((((((((((((((1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
881615667: (((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1
891619600: ((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)
897181691: (((((((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
918159061: ((((((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1
920521050: ((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)
924502226: (((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)
929983535: ((((((((((((((((((1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1
943162304: (((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
950210939: ((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
950214176: ((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)
962610357: ((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1
974842859: ((((((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1
988572832: (((((((((((((((1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)+1)*(1+1)*(1+1)*(1+1)*(1+1)*(1+1)


问:
Hyperprogramming: N+N, N×N, N^N all in one
Write a program that takes in a number N from 1 to 9 inclusive. In its native form your program should output N+N. E.g. output 2 if N is 1, 4 if N is 2, 6 if N is 3, and so on.

When every character in your program is duplicated in place, then it should be a program that takes in N (still from 1 to 9) and outputs N×N. E.g. output 1 if N is 1, 4 if N is 2, 9 if N is 3, and so on.

When every character in your program is triplicated in place, then it should be a program that takes in N (still from 1 to 9) and outputs N^N. E.g. output 1 if N is 1, 4 if N is 2, 27 if N is 3, 387420489 if N is 9, etc.

Numbers above 9 aren't required because 10^10 is outside of many language's usual integer range.

Example

If your initial program was

```<code>My_Program!
Exit();
</code>```

Then it should be capable of taking in N and outputting N+N.

Additionally, the program

```<code>MMyy__PPrrooggrraamm!!

EExxiitt(());;
</code>```

should take in N and output N×N.

Finally, the program

```<code>MMMyyy___PPPrrrooogggrrraaammm!!!

EEExxxiiittt((()));;;
</code>```

should take in N and output N^N.

Quadrupled-character programs and beyond are not required.

Rules

Input and output should be plain, normally formatted decimal numbers. You may answer using a different base to show off your code but then your answer is non-competitive.

Windows users may treat \r\n as one character since things like \r\r\n\n wouldn't make sense or perhaps even work.

The shortest native program (the N+N one) in bytes wins.

答:
TovTovTov (a mutation of Chicken): 810147050 bytes

Described below are two suggested solutions: One full solution to the question requiring lots of bytes, and a second partial solution (solving only the N+N and N*N parts, requiring only 484 bytes), each taking a different approach and its own set of cool tricks! :)

1. Full solution (810147050 bytes)

Using TovTovTov(TOV='hi',SEP=','), the TOV elements are immune to duplicating characters in place (both "hihihi" and "hhiihhiihhii" have three "hi"s in them, and all TovTovTov cares about is how many TOVs appear between SEPs).

If we used SEP=', ', the entire program would be immune to character duplication (which is cool, but won't solve the question). So we use SEP=','.

So the program "hihihi,hi", for example, compiles to the ints array [3,1], while "hhiihhiihhii,,hhii" compiles to [3,0,1] and "hhiihhiihhii,,hhii" to [3,0,0,1]. This means that the commands themselves don't change their meaning after duplication, but the overall length changes with character duplication. The solution below queries the length of the program and uses this to decide whether to print N+N, N*N or N^N.

The suggested full solution, as ints array, is: [6, 12, 9, 18, 9, 142, 11, 38, 8, 9, 260, 11, 73, 8, 22, 75, 7, 10, 14, 3, 1, 22, 24, 18, 15, 8, 10, 16, 3, 1, 22, 24, 18, 15, 8, 10, 45, 16, 7, 22, 3, 1, 22, 24, 18, 15, 8, 22, 3, 1, 22, 24, 18, 15, 8, 25, 3, 1, 22, 24, 18, 15, 8, 48, 3, 1, 22, 24, 18, 15, 8, 277, 3, 1, 22, 24, 18, 15, 8, 3146, 3, 1, 22, 24, 18, 15, 8, 46677, 3, 1, 22, 24, 18, 15, 8, 823564, 3, 1, 22, 24, 18, 15, 8, 16777237, 3, 1, 22, 24, 18, 15, 8, 387420510, 3, 1, 22, 24, 18, 15, 8]

As a string, it's a pretty long program, consisting of 810147050 characters, starting with:
hihihihihihi,hihihihihihihihihihihihi,hihihihihihihihihi,hihihihihihihihihihihihihihihihihihi,hihihihihihihihihi,hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihih...

2. Solving only the N+N and N*N parts of the question (484 bytes)

Using TovTovTov(TOV='1',SEP=', '), this time the SEPs are immune to duplication (",,  " still has just one ", " in it), so the following suggested solution will always have 33 commands in it, even after character duplication:

1111, 111111111111111111111111111111111111111111111111, 1111111111, 1111111111, 1111111111, 111111, 111111111111, 111111111, 11111111111111, 111, 1, 1111111111111111111111, 111111111111111111111111, 111111111111111111, 111111111111111, 11111111, 111111111111, 1111111111111111, 111111111111111, 1111111111111111111111, 111111111111111111111111111111111111, 11, 1111111111111111111111111111, 111111, 111, 111111, 11111111111, 111111111111111111111111111, 1111, 1, 11111111, 1, 11111111

The corresponding ints array (the number of TOVs (1s) in each of the 33 commands above) is as follows: [4,48,10,10,10,6,12,9,14,3,1,22,24,18,15,8,12,16,15,22,36,2,28,6,3,6,11,27,4,1,8,1,8]

Duplicating the characters in place results in a list of 33 totally different commands:
[8,96,20,20,20,12,24,18,28,6,2,44,48,36,30,16,24,32,30,44,72,4,56,12,6,12,22,54,8,2,16,2,16]

The original ints array (that calculates N+N) was designed carefully so that after the commands change their meaning, the program still makes sense, but calculates N*N. For example, the first 4 (that TovTovTov understands as "treat the next op as an ascii code to convert to a character") changes after character duplication to 8, which is a totally different command ("change the Program Counter to the first popped value from the stack, if the value popped immediately after is true").

ContentLicense: CC BY-SA 3.0


问:
Count from 1 to 100... in Roman Numerals
Write a program that count from 1 to 100 in Roman Numerals and print these numbers by standard output. Each one of the numbers must be separated by spaces.

You cannot use any built in function to transform to roman numerals nor external application or library to do so.

The desired result is

```<code>I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XXIV XXV XXVI XXVII XXVIII XXIX XXX XXXI XXXII XXXIII XXXIV XXXV XXXVI XXXVII XXXVIII XXXIX XL XLI XLII XLIII XLIV XLV XLVI XLVII XLVIII XLIX L LI LII LIII LIV LV LVI LVII LVIII LIX LX LXI LXII LXIII LXIV LXV LXVI LXVII LXVIII LXIX LXX LXXI LXXII LXXIII LXXIV LXXV LXXVI LXXVII LXXVIII LXXIX LXXX LXXXI LXXXII LXXXIII LXXXIV LXXXV LXXXVI LXXXVII LXXXVIII LXXXIX XC XCI XCII XCIII XCIV XCV XCVI XCVII XCVIII XCIX C
</code>```

As it is a code golf challenge, shortest code wins.

答:
HTML + JavaScript + CSS (137)

HTML (9)

```<code><ol></ol>
</code>```

JavaScript (101)

```<code>for(i=1;i<=100;i++){document.getElementsByTagName('ol')[0].appendChild(document.createElement('li'))}
</code>```

CSS (27)

```<code>ol{list-style:upper-roman}
</code>```

Output

...

Demo on JSBin

Body:
HTML + JavaScript + CSS (137)

HTML (9)

<ol></ol>

JavaScript (101)

for(i=1;i<=100;i++){document.getElementsByTagName('ol')[0].appendChild(document.createElement('li'))}

CSS (27)

ol{list-style:upper-roman}

Output

...

Demo on JSBin


问:
Counting Goats to Sleep
Some people count sheep to get to sleep. Others count goats.

Write a program or function that takes in a positive integer N and outputs N-1 awake goats followed by one sleeping goat, as if someone was counting N goats and at the very last one they fell asleep.

Awake goats look like this:

```<code>      \
  ___/o>
-(___)"
 '' ''
</code>```

Sleeping goats look like this:

```<code>      \
  ___/->
,(___)"
 `` ``
</code>```

They are chained together with a single space between beard and tail of adjacent goats:

```<code>      \       \       \
  ___/o>  ___/o>  ___/->
-(___)" -(___)" ,(___)"
 '' ''   '' ''   `` ``
</code>```

The output is allowed to have trailing spaces and a single trailing newline.

The shortest code in bytes wins.

Examples

N = 1:

```<code>      \
  ___/->
,(___)"
 `` ``
</code>```

N = 2:

```<code>      \       \
  ___/o>  ___/->
-(___)" ,(___)"
 '' ''   `` ``
</code>```

N = 3:

```<code>      \       \       \
  ___/o>  ___/o>  ___/->
-(___)" -(___)" ,(___)"
 '' ''   '' ''   `` ``
</code>```

N = 4:

```<code>      \       \       \       \
  ___/o>  ___/o>  ___/o>  ___/->
-(___)" -(___)" -(___)" ,(___)"
 '' ''   '' ''   '' ''   `` ``
</code>```

Larger N should work just as well.

答:
Emacs Lisp, 241 bytes

```<code>(defvar s'("     \\""  ___/->"",(___)\""" `` ``"))(defun a()(dotimes(n 4 g)(setf(nth n g)(format"%s%s"(nth n'("     \\  ""  ___/o>""-(___)\" "" '' ''  "))(nth n g)))))(defun g(n)(let((g(copy-seq s)))(mapcar'message(dotimes(i(- n 1)g)(a)))))
</code>```

"Slightly ungolfed"

```<code>(defvar s'("     \\""  ___/->"",(___)\""" `` ``"))
(defun a()(dotimes(n 4 g)(setf(nth n g)(format"%s%s"(nth n'("     \\  ""  ___/o>""-(___)\" "" '' ''  "))(nth n g)))))
(defun g(n)(let((g(copy-seq s)))(mapcar'message(dotimes(i(- n 1)g)(a)))))
</code>```

where s is one sleeping goat, a adds an awake goat and g(n) is the counting function.

Title: Counting Goats to Sleep

Body:
Emacs Lisp, 241 bytes

(defvar s'("     \\""  ___/->"",(___)\""" `` ``"))(defun a()(dotimes(n 4 g)(setf(nth n g)(format"%s%s"(nth n'("     \\  ""  ___/o>""-(___)\" "" '' ''  "))(nth n g)))))(defun g(n)(let((g(copy-seq s)))(mapcar'message(dotimes(i(- n 1)g)(a)))))

"Slightly ungolfed"

(defvar s'("     \\""  ___/->"",(___)\""" `` ``"))
(defun a()(dotimes(n 4 g)(setf(nth n g)(format"%s%s"(nth n'("     \\  ""  ___/o>""-(___)\" "" '' ''  "))(nth n g)))))
(defun g(n)(let((g(copy-seq s)))(mapcar'message(dotimes(i(- n 1)g)(a)))))

where s is one sleeping goat, a adds an awake goat and g(n) is the counting function.


问:
How long is a Welsh word?
Write a program or function which receives as input a string representing a Welsh word (UTF-8 unless otherwise specified by you).

The following are all single letters in Welsh:

a, b, c, ch, d, dd, e, f, ff, g, ng, h, i, j, l, ll, m, n, o, p, ph, r, rh, s, t, th, u, w, y

To quote Wikipedia,

While the digraphs ch, dd, ff, ng, ll, ph, rh, th are each written with two symbols, they are all considered to be single letters. This means, for example that Llanelli (a town in South Wales) is considered to have only six letters in Welsh, compared to eight letters in English.

These letters also exist in Welsh, though they are restricted to technical vocabulary borrowed from other languages:

k, q, v, x, z

Letters with diacritics are not regarded as separate letters, but your function must accept them and be able to count them. Possible such letters are:

â, ê, î, ô, û, ŷ, ŵ, á, é, í, ó, ú, ý, ẃ, ä, ë, ï, ö, ü, ÿ, ẅ, à, è, ì, ò, ù, ẁ

(This means that ASCII is not an acceptable input encoding, as it cannot encode these characters.)

Notes:

This is code golf.

You do not have to account for words like llongyfarch, in which the ng is not a digraph, but two separate letters. This word has nine letters, but you can miscount it as eight. (If you can account for such words, that's kind of awesome, but outside the scope of this challenge.)

The input is guaranteed to have no whitespace (unless you prefer it with a single trailing newline (or something more esoteric), in which case that can be provided). There will certainly be no internal whitespace.

Test cases:

Llandudno, 8

Llanelli, 6

Rhyl, 3

Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch, 50 (really 51, but we'll count 50)

Tŷr, 3

Cymru, 5

Glyndŵr, 7

答:
XQuery, 77 bytes

```<code>declare variable$s external;count(tokenize($s,'[cprt]h|ff|dd|ll|ng|.','i'))-1
</code>```

Title: How long is a Welsh word?

Body:
XQuery, 77 bytes

declare variable$s external;count(tokenize($s,'[cprt]h|ff|dd|ll|ng|.','i'))-1


问:
Roll the Alphabet into a Spiral
Write a program or function that, when given n, will print a spiral n characters long made up of the Latin alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ repeated as needed. This spiral should run through the alphabet only forwards.

Related to Alphabet Spiral, though the spiral runs through the alphabet forwards and backwards, and the spiral is constant.

Test cases

```<code>4   AB
    DC

40   UVWXYZ
     TGHIJA
    NSFABKB
    MREDCLC
    LQPONMD
    KJIHGFE

0

10  GHIJ
    FAB
    EDC

1000    UVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
        TGHIJKLMNOPQRSTUVWXYZABCDEFGHIJA
        SFABCDEFGHIJKLMNOPQRSTUVWXYZABKB
        REZCDEFGHIJKLMNOPQRSTUVWXYZABCLC
        QDYBMNOPQRSTUVWXYZABCDEFGHIJCDMD
        PCXALEFGHIJKLMNOPQRSTUVWXYZKDENE
        OBWZKDEFGHIJKLMNOPQRSTUVWXALEFOF
        NAVYJCDMNOPQRSTUVWXYZABCDYBMFGPG
        MZUXIBCLCDEFGHIJKLMNOPQREZCNGHQH
        LYTWHABKBABCDEFGHIJKLMNSFADOHIRI
        KXSVGZAJAZGHIJKLMNOPQROTGBEPIJSJ
        JWRUFYZIZYFUVWXYZABCDSPUHCFQJKTK
        IVQTEXYHYXETQRSTUVWXETQVIDGRKLUL
        HUPSDWXGXWDSPUVWXYZYFURWJEHSLMVM
        GTORCVWFWVCROTGHIJAZGVSXKFITMNWN
        FSNQBUVEVUBQNSFABKBAHWTYLGJUNOXO
        ERMPATUDUTAPMREDCLCBIXUZMHKVOPYP
        DQLOZSTCTSZOLQPONMDCJYVANILWPQZQ
        CPKNYRSBSRYNKJIHGFEDKZWBOJMXQRAR
        BOJMXQRARQXMLKJIHGFELAXCPKNYRSBS
        ANILWPQZQPWVUTSRQPONMBYDQLOZSTCT
        ZMHKVOPYPONMLKJIHGFEDCZERMPATUDU
        YLGJUNOXONMLKJIHGFEDCBAFSNQBUVEV
        XKFITMNWVUTSRQPONMLKJIHGTORCVWFW
        WJEHSLMLKJIHGFEDCBAZYXWVUPSDWXGX
        VIDGRKJIHGFEDCBAZYXWVUTSRQTEXYHY
        UHCFQPONMLKJIHGFEDCBAZYXWVUFYZIZ
        TGBEDCBAZYXWVUTSRQPONMLKJIHGZAJA
        SFAZYXWVUTSRQPONMLKJIHGFEDCBABKB
        REDCBAZYXWVUTSRQPONMLKJIHGFEDCLC
        QPONMLKJIHGFEDCBAZYXWVUTSRQPONMD
                                LKJIHGFE
</code>```

Rules

Your input will be a non-negative integer 0 <= n <= 1000, but your code should theoretically handle any non-negative integer.

Your output format may be in any sane format, with delimiters if necessary.

Rotations and reflections are equivalent.

Your alphabet may be uppercase or lowercase.

The empty spaces in your spiral may be filled in with whatever non-alphabetic nulls you see fit.

The spiral itself may be in any shape you see fit. Rectangular spirals work best with ASCII solutions, but graphical solutions may be shorter with circular spirals.

Leading and trailing spaces and newlines are allowed.

This is code golf. The shortest answer in bytes (or equivalent) wins.

As always, if anything is unclear or incorrect, please let me know in the comments. Good luck and good golfing!

答:
Python 2, <s>84</s> 82 bytes

I'm using Turtle again. It's so fun! :D

from turtle import*
up()
for i in range(input()):write(chr(i%26+65));rt(9);fd(9+i)
```

Try it online

Unfortunately, Trinket.io has a horribly small canvas. I changed 9+i to 9+i/9 and adjusted the turtle's starting point for the purpose of screen-capturing this image, so that more of the output would fit:

Title: Roll the Alphabet into a Spiral

Body:
Python 2, <s>84</s> 82 bytes

I'm using Turtle again. It's so fun! :D

from turtle import*
up()
for i in range(input()):write(chr(i%26+65));rt(9);fd(9+i)

Try it online

Unfortunately, Trinket.io has a horribly small canvas. I changed 9+i to 9+i/9 and adjusted the turtle's starting point for the purpose of screen-capturing this image, so that more of the output would fit:


问:
Showcase of Languages

Notes

This thread is open and unlocked only because the community decided to make an exception. Please do not use this question as evidence that you can ask similar questions here. Please do not create additional showcase questions.

This is no longer a popularity-contest, nor are snippet lengths limited by the vote tally. If you know this thread from before, please make sure you familiarize yourself with the changes.

This thread is dedicated to showing off interesting, useful, obscure, and/or unique features your favorite programming languages have to offer. This is neither a challenge nor a competition, but a collaboration effort to showcase as many programming languages as possible as well as possible.

How this works

All answers should include the name of the programming language at the top of the post, prefixed by a #.

Answers may contain one (and only one) factoid, i.e., a couple of sentences without code that describe the language.

Aside from the factoid, answers should consist of snippets of code, which can (but don't have to be) programs or functions.

The snippets do not need to be related. In fact, snippets that are too related may be redundant.

Since this is not a contest, all programming languages are welcome, whenever they were created.

Answers that contain more than a handful of code snippets should use a Stack Snippet to collapse everything except the factoid and one of the snippets.

Whenever possible, there should be only one answer per programming language. This is a community wiki, so feel free to add snippets to any answer, even if you haven't created it yourself. There is a Stack Snippet for compressing posts, which should mitigate the effect of the 30,000 character limit.

Answers that predate these guidelines should be edited. Please help updating them as needed.

Current answers, sorted alphabetically by language name

$.ajax({type:"GET",url:"https://api.stackexchange.com/2.2/questions/44680/answers?site=codegolf&filter=withbody",success:function(data){for(var i=0;i<data.items.length;i++){var temp=document.createElement('p');temp.innerHTML = data.items[i].body.split("\n")[0];$('#list').append('
' + temp.innerText || temp.textContent + '');}}})```
<pre class="snippet-code-html lang-html prettyprint-override"><code><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><base href="http://codegolf.stackexchange.com"><ul id="list"></ul></code>```

答:
Straw

Straw is a 1D stack-based language I created.

It mainly operate on strings.

You can try it online here.

Length 1

```<code><
</code>```

Take one line of input and exit.

Length 2

```<code>->
</code>```

- take an item from the secondary stack, and > print it.

Straw have 2 stacks: The first is initialized with an empty string, and the second with Hello, World!.

So this code prints Hello, World!.

Length 3

```<code>9#>
</code>```

Any character which is not a command is pushed on the stack, and # convert a decimal number to unary. It's needed to make any operations on numbers, because Straw don't have numbers, it only operate on strings. So this example prints 000000000.

Length 4

```<code><<+>
</code>```

Take two lines of input, concatenate (+) and print.

Title: Showcase of Languages

Body:
Straw

Straw is a 1D stack-based language I created.

It mainly operate on strings.

You can try it online here.

Length 1

<

Take one line of input and exit.

Length 2

->

- take an item from the secondary stack, and > print it.

Straw have 2 stacks: The first is initialized with an empty string, and the second with Hello, World!.

So this code prints Hello, World!.

Length 3

9#>

Any character which is not a command is pushed on the stack, and # convert a decimal number to unary. It's needed to make any operations on numbers, because Straw don't have numbers, it only operate on strings. So this example prints 000000000.

Length 4

<<+>

Take two lines of input, concatenate (+) and print.


问:
Palindrome Hello, World
Your task is to create a program that prints "Greetings, Planet!" exactly to the console. Seems simple enough, right? Well, here's the trick. The code must be a palindrome, meaning it reads from right to left the same as in left to right.
Standard loopholes are NOT allowed.

答:
Straw, 41 bytes

```<code>(Greetings, Planet!)>)!tenalP ,sgniteerG(
</code>```

Try it online

(Greetings, Planet!) push a string on the stack, > print it. The rest of the program simply fill the stack with junk.

Title: Palindrome Hello, World

Body:
Straw, 41 bytes

(Greetings, Planet!)>)!tenalP ,sgniteerG(

Try it online

(Greetings, Planet!) push a string on the stack, > print it. The rest of the program simply fill the stack with junk.


问:
The Letter A without A
Your task is to display the letter "A" alone, without anything else, except any form of trailing newlines if you cannot avoid them, doing so in a program and/or snippet. Code that returns (instead of printing) is allowed.

Both the lowercase and uppercase versions of the letter "A" are acceptable (that is, unicode U+0061 or unicode U+0041. Other character encodings that aren't Unicode are allowed, but either way, the resulting output of your code must be the latin letter "A", and not any lookalikes or homoglyphs)

You must not use any of the below characters in your code, regardless of the character encoding that you pick:

"A", whether uppercase or lowercase.

"U", whether lowercase or uppercase.

X, whether uppercase or lowercase.

+

&

#

0

1

4

5

6

7

9

Cheating, loopholes, etc, are not allowed.

Since this is code-golf, the shortest solution, in bytes, that follows all the rules, is the winner.

Validity Checker

This Stack Snippet checks to make sure your code doesn't use the restricted characters. It might not work properly for some character encodings.

var t = prompt("Input your code.");

if (/[AaUuXx+&#0145679]/.test(t)) {
  alert("Contains a disallowed character!");
} else {
  alert("No disallowed characters");
}```
</div>
</div>
</p>

<p><em>This Stack Snippet that makes sure you don't have a disallowed character is also available on JSFiddle.</em></p>

<h3>Leaderboard</h3>

<p><div class="snippet" data-lang="js" data-hide="true" data-console="false" data-babel="false">
<div class="snippet-code snippet-currently-hidden">
<pre class="snippet-code-js lang-js prettyprint-override"><code>var QUESTION_ID=90349,OVERRIDE_USER=58717;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;</code>```

body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}```
<pre class="snippet-code-html lang-html prettyprint-override"><code><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td>Link</td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td>Link</td></tr></tbody> </table></code>```

答:
Straw, 6 bytes

```<code>Bæ}Æ>
</code>```

Take the codepoint of B (Bæ), get the tail of the string (unary decrement) (}), take the character associated with the codepoint (Æ), and print it (>)

Try it online

Title: The Letter A without A

Body:
Straw, 6 bytes

Bæ}Æ>

Take the codepoint of B (Bæ), get the tail of the string (unary decrement) (}), take the character associated with the codepoint (Æ), and print it (>)

Try it online

ContentLicense: CC BY-SA 4.0


问:
Is it a Bumpy Word?
(inspired by this challenge over on Puzzling -- SPOILERS for that puzzle are below, so stop reading here if you want to solve that puzzle on your own!)

If a letter in a word occurs alphabetically later than the previous letter in the word, we call that a rise between the two letters. Otherwise, including if it's the same letter, it's called a fall.

For example, the word ACE has two rises (A to C and C to E) and no falls, while THE has two falls (T to H and H to E) and no rises.

We call a word Bumpy if the sequence of rises and falls alternates. For example, BUMP goes rise (B to U), fall (U to M), rise (M to P). Note that the first sequence need not be a rise -- BALD goes fall-rise-fall and is also Bumpy.

The challenge

Given a word, output whether or not it's Bumpy.

Input

A word (not necessarily a dictionary word) consisting of ASCII alphabet ([A-Z] or [a-z]) letters only, in any suitable format.

Your choice if the input is all uppercase or all lowercase, but it must be consistent.

The word will be at least 3 characters in length.

Output

A truthy/falsey value for whether the input word is Bumpy (truthy) or not Bumpy (falsey).

The Rules

Either a full program or a function are acceptable.

Standard loopholes are forbidden.

This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.

Examples

Truthy:

```<code>ABA
ABB
BAB
BUMP
BALD
BALDY
UPWARD
EXAMINATION
AZBYCXDWEVFUGTHSIRJQKPLOMN
</code>```

Falsey:

```<code>AAA
BBA
ACE
THE
BUMPY
BALDING
ABCDEFGHIJKLMNOPQRSTUVWXYZ
</code>```

Leaderboards

Here is a Stack Snippet to generate both a regular leaderboard and an overview of winners by language.

To make sure that your answer shows up, please start your answer with a headline, using the following Markdown template:

```<code># Language Name, N bytes
</code>```

where N is the size of your submission. If you improve your score, you can keep old scores in the headline, by striking them through. For instance:

```<code># Ruby, <s>104</s> <s>101</s> 96 bytes
</code>```

If there you want to include multiple numbers in your header (e.g. because your score is the sum of two files or you want to list interpreter flag penalties separately), make sure that the actual score is the last number in the header:

```<code># Perl, 43 + 2 (-p flag) = 45 bytes
</code>```

You can also make the language name a link which will then show up in the leaderboard snippet:

```<code># [><>](http://esolangs.org/wiki/Fish), 121 bytes
</code>```

var QUESTION_ID=93005,OVERRIDE_USER=42963;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="
"+e.body.replace(OVERRIDE_REG,"")+"
")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;```
<pre class="snippet-code-css lang-css prettyprint-override"><code>body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}</code>```

 <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b">

Leaderboard

	Author	Language	Size

Winners by Language

Language	User	Score

{{PLACE}}	{{NAME}}	{{LANGUAGE}}	{{SIZE}}	Link

{{LANGUAGE}}	{{NAME}}	{{SIZE}}	Link

```

答:
Perl, 34 bytes

Includes +3 for -p (code contains ' so -e can't be used)

Give uppercase input on STDIN:

```<code>bump.pl <<< AAA
</code>```

bump.pl

```<code>#!/usr/bin/perl -p
s%.%$&.z lt$'|0%eg;$_=!/(.)\1./
</code>```

Title: Is it a Bumpy Word?

Body:
Perl, 34 bytes

Includes +3 for -p (code contains ' so -e can't be used)

Give uppercase input on STDIN:

bump.pl <<< AAA

bump.pl

#!/usr/bin/perl -p
s%.%$&.z lt$'|0%eg;$_=!/(.)\1./


答:
Jelly, <s>6</s> 5 bytes

-1 byte thanks to @Dennis (use a cumulative reduction)

```<code><2\IẠ
</code>```

All test cases are at TryItOnline

How?

```<code><2\IẠ - main link takes an argument, s,    e.g. "BUMP"    or "BUMPY"
<    - less than comparison (a dyad)
 2   - literal 2 (a nilad)
  \  - n-wise overlapping reduction when preceded by a dyad-nilad chain
       (i.e. reduce the list by pairs with less than)
                                           e.g. [1,0,1]   or [1,0,1,1]
   I  - consecutive differences,           e.g. [-1,1]    or [-1,1,0]
    Ạ - All, 0 if any values are 0 else 1, e.g. 1         or 0
</code>```

Works for either all uppercase or all lowercase.

Title: Is it a Bumpy Word?

Body:
(inspired by this challenge over on Puzzling -- SPOILERS for that puzzle are below, so stop reading here if you want to solve that puzzle on your own!)

If a letter in a word occurs alphabetically later than the previous letter in the word, we call that a rise between the two letters. Otherwise, including if it's the same letter, it's called a fall.

For example, the word ACE has two rises (A to C and C to E) and no falls, while THE has two falls (T to H and H to E) and no rises.

We call a word Bumpy if the sequence of rises and falls alternates. For example, BUMP goes rise (B to U), fall (U to M), rise (M to P). Note that the first sequence need not be a rise -- BALD goes fall-rise-fall and is also Bumpy.

The challenge

Given a word, output whether or not it's Bumpy.

Input

A word (not necessarily a dictionary word) consisting of ASCII alphabet ([A-Z] or [a-z]) letters only, in any suitable format.

Your choice if the input is all uppercase or all lowercase, but it must be consistent.

The word will be at least 3 characters in length.

Output

A truthy/falsey value for whether the input word is Bumpy (truthy) or not Bumpy (falsey).

The Rules

Either a full program or a function are acceptable.

Standard loopholes are forbidden.

This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.

Examples

Truthy:

```<code>ABA
ABB
BAB
BUMP
BALD
BALDY
UPWARD
EXAMINATION
AZBYCXDWEVFUGTHSIRJQKPLOMN
</code>```

Falsey:

```<code>AAA
BBA
ACE
THE
BUMPY
BALDING
ABCDEFGHIJKLMNOPQRSTUVWXYZ
</code>```

Leaderboards

Here is a Stack Snippet to generate both a regular leaderboard and an overview of winners by language.

To make sure that your answer shows up, please start your answer with a headline, using the following Markdown template:

```<code># Language Name, N bytes
</code>```

where N is the size of your submission. If you improve your score, you can keep old scores in the headline, by striking them through. For instance:

```<code># Ruby, <s>104</s> <s>101</s> 96 bytes
</code>```

If there you want to include multiple numbers in your header (e.g. because your score is the sum of two files or you want to list interpreter flag penalties separately), make sure that the actual score is the last number in the header:

```<code># Perl, 43 + 2 (-p flag) = 45 bytes
</code>```

You can also make the language name a link which will then show up in the leaderboard snippet:

```<code># [><>](http://esolangs.org/wiki/Fish), 121 bytes
</code>```

var QUESTION_ID=93005,OVERRIDE_USER=42963;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="
"+e.body.replace(OVERRIDE_REG,"")+"
")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;```
<pre class="snippet-code-css lang-css prettyprint-override"><code>body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}</code>```

 <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b">

Leaderboard

	Author	Language	Size

Winners by Language

Language	User	Score

{{PLACE}}	{{NAME}}	{{LANGUAGE}}	{{SIZE}}	Link

{{LANGUAGE}}	{{NAME}}	{{SIZE}}	Link

```

Body:
Jelly, <s>6</s> 5 bytes

-1 byte thanks to @Dennis (use a cumulative reduction)

<2\IẠ

All test cases are at TryItOnline

How?

<2\IẠ - main link takes an argument, s,    e.g. "BUMP"    or "BUMPY"
<    - less than comparison (a dyad)
 2   - literal 2 (a nilad)
  \  - n-wise overlapping reduction when preceded by a dyad-nilad chain
       (i.e. reduce the list by pairs with less than)
                                           e.g. [1,0,1]   or [1,0,1,1]
   I  - consecutive differences,           e.g. [-1,1]    or [-1,1,0]
    Ạ - All, 0 if any values are 0 else 1, e.g. 1         or 0

Works for either all uppercase or all lowercase.


答:
LaTeX (138)

```<code>\documentclass{minimal}
\usepackage{forloop}
\begin{document}
\newcounter{i}
\forloop{i}{1}{\value{i} < 101}{\roman{i}\par}
\end{document}
</code>```

Title: Count from 1 to 100... in Roman Numerals

Body:
Write a program that count from 1 to 100 in Roman Numerals and print these numbers by standard output. Each one of the numbers must be separated by spaces.

You cannot use any built in function to transform to roman numerals nor external application or library to do so.

The desired result is

```<code>I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XXIV XXV XXVI XXVII XXVIII XXIX XXX XXXI XXXII XXXIII XXXIV XXXV XXXVI XXXVII XXXVIII XXXIX XL XLI XLII XLIII XLIV XLV XLVI XLVII XLVIII XLIX L LI LII LIII LIV LV LVI LVII LVIII LIX LX LXI LXII LXIII LXIV LXV LXVI LXVII LXVIII LXIX LXX LXXI LXXII LXXIII LXXIV LXXV LXXVI LXXVII LXXVIII LXXIX LXXX LXXXI LXXXII LXXXIII LXXXIV LXXXV LXXXVI LXXXVII LXXXVIII LXXXIX XC XCI XCII XCIII XCIV XCV XCVI XCVII XCVIII XCIX C
</code>```

As it is a code golf challenge, shortest code wins.

Body:
LaTeX (138)

\documentclass{minimal}
\usepackage{forloop}
\begin{document}
\newcounter{i}
\forloop{i}{1}{\value{i} < 101}{\roman{i}\par}
\end{document}


问:
Goldenness of an integer
A positive integer n can be represented as a rectangle with integer sides a, b such that n = a * b. That is, the area represents the number. In general, a and b are not unique for a given n.

As is well known, a rectangle is specially pleasing to the eye (or is it the brain?) when its sides are in the golden ratio, φ = (sqrt(5)+1)/2 ≈ 1.6180339887...

Combining these two facts, the purpose of this challenge is to decompose an integer n into the product of two integers a, b whose ratio is as close as possible to φ (with the usual metric on ℝ). The fact that φ is irrational implies that there is a unique solution pair (a, b).

The challenge

Given a positive integer n, output positive integers a, b such that  a * b = n and the absolute difference between a/b and φ is minimized.

As an example, consider n = 12. The pairs (a, b) that satisfy a * b = n are: (1, 12), (2,6), (3,4), (4,3), (6,2), (12,1). The pair whose ratio is closest to φ is (4,3), which gives 4/3 = 1.333.

Rules

Functions or programs are acceptable.

The numerator (a) should appear first in the output, and the denominator (b) second. Other than that, input and output formats are flexible as usual. For example, the two numbers can be output as strings with any reasonable separator, or as an array.

The code should work in theory for arbitrarily large numbers. In practice, it may be limited by memory or data-type restrictions.

It's sufficient to consider an approximate version of φ, as long as it is accurate up to the third decimal or better. That is, the absolute difference between the true φ and the approximate value should not exceed 0.0005. For example, 1.618 is acceptable.

When using an approximate, rational version of φ there's a small chance that the solution is not unique. In that case you can output any pair a, b that satisfies the minimization criterion.

Shortest code wins.

Test cases

```<code>1        ->  1    1
2        ->  2    1
4        ->  2    2
12       ->  4    3
42       ->  7    6
576      ->  32   18
1234     ->  2    617
10000    ->  125  80
199999   ->  1    199999
9699690  ->  3990 2431
</code>```

答:
Javascript (ES6), 73 bytes

```<code>n=>{for(b=0,k=n/.809;n%++b||k>b*b*2&&(a=b););return[b=k-a*a>b*b?b:a,n/b]}
</code>```

We look for:

a = highest divisor of n for which n / φ > a²

b = lowest divisor of n for which n / φ < b²

Then, the solution is either [ a, n / a ] or [ b, n / b ]. We compare n / φ - a² with b² - n / φ to find out which expression is closest to zero.

The actual formula used in the code are based on φ / 2 which can be written in a shorter way than φ with the same precision: .809 vs 1.618.

Therefore:

n / φ > a² ⇔ n / (φ / 2) > 2a²

and:

n / φ - a² > b² - n / φ ⇔ 2n / φ - a² > b² ⇔ n / (φ / 2)
  - a² > b²

Complexity

The number of iterations heavily depends on the number of factors of n. The worst case occurs when n is prime, because we have to perform all iterations from 1 to n to find its only 2 divisors. This is what happens with 199999. On the other hand, 9699690 is 19-smooth and we quickly find two divisors on either sides of the breaking point √(n/φ) ≈ 2448.

Test cases

let f =
n=>{for(b=0,k=n/.809;n%++b||k>b*b*2&&(a=b););return[b=k-a*a>b*b?b:a,n/b]}

console.log(JSON.stringify(f(12)));       // [ 3, 4 ]
console.log(JSON.stringify(f(42)));       // [ 6, 7 ]
console.log(JSON.stringify(f(576)));      // [ 18, 32 ]
console.log(JSON.stringify(f(1234)));     // [ 2, 617 ]
console.log(JSON.stringify(f(10000)));    // [ 80, 125 ]
console.log(JSON.stringify(f(199999)));   // [ 1, 199999 ]
console.log(JSON.stringify(f(9699690)));  // [ 2431, 3990 ]```

Title: Goldenness of an integer

Body:
Javascript (ES6), 73 bytes

n=>{for(b=0,k=n/.809;n%++b||k>b*b*2&&(a=b););return[b=k-a*a>b*b?b:a,n/b]}

We look for:

a = highest divisor of n for which n / φ > a²

b = lowest divisor of n for which n / φ < b²

Then, the solution is either [ a, n / a ] or [ b, n / b ]. We compare n / φ - a² with b² - n / φ to find out which expression is closest to zero.

The actual formula used in the code are based on φ / 2 which can be written in a shorter way than φ with the same precision: .809 vs 1.618.

Therefore:

n / φ > a² ⇔ n / (φ / 2) > 2a²

and:

n / φ - a² > b² - n / φ ⇔ 2n / φ - a² > b² ⇔ n / (φ / 2)
  - a² > b²

Complexity

The number of iterations heavily depends on the number of factors of n. The worst case occurs when n is prime, because we have to perform all iterations from 1 to n to find its only 2 divisors. This is what happens with 199999. On the other hand, 9699690 is 19-smooth and we quickly find two divisors on either sides of the breaking point √(n/φ) ≈ 2448.

Test cases

let f =
n=>{for(b=0,k=n/.809;n%++b||k>b*b*2&&(a=b););return[b=k-a*a>b*b?b:a,n/b]}

console.log(JSON.stringify(f(12)));       // [ 3, 4 ]
console.log(JSON.stringify(f(42)));       // [ 6, 7 ]
console.log(JSON.stringify(f(576)));      // [ 18, 32 ]
console.log(JSON.stringify(f(1234)));     // [ 2, 617 ]
console.log(JSON.stringify(f(10000)));    // [ 80, 125 ]
console.log(JSON.stringify(f(199999)));   // [ 1, 199999 ]
console.log(JSON.stringify(f(9699690)));  // [ 2431, 3990 ]


答:
C#, <s>64</s> <s>63</s> 55 bytes

```<code>unsafe bool B(char*s)=>1>s[2]||*s<s[1]!=*++s<s[1]&B(s);
</code>```

-8 bytes from Scepheo's suggestions

This is a port of Hedi's solution to C#. I also came up with a recursive solution, but the recursion wasn't as good. My original solution is below.

My Original C#, <s>96</s> <s>94</s> 91 bytes

```<code>unsafe bool B(char*s,bool f=1>0,int i=0)=>1>s[1]||(s[0]<s[1]?f:1>i?!(f=!f):!f)&B(s+1,!f,1);
</code>```

-2 bytes by using 1>0 instead of true.

-3 bytes from Scepheo's suggestions for the port solution above

Calls itself recursively checking that the rising/falling alternates each time.

Ungolfed:

```<code>// unsafe in order to golf some bytes from string operations.
// f alternates with each recursive call
// i is 0 for the first call, 1 for all subsequent calls
unsafe bool B(char* s, bool f = 1 > 0, int i = 0) =>
    1 > s[1] ? 1 > 0// (instead of 1 == s.Length) check if s[1] = NULL, and return true.
    : (
        s[0] < s[1] ? f // Rising, so use f...
        : // Else falling
            1 > i ? !(f=!f) // But this is the first call, so use true (but flip f)...
            : !f // Not first call, so use !f...
    )
    & B(s+1, !f, 1) // ...AND the previous value with a recursive call
                    // s+1 instead of s.Substring(1)
;
</code>```

Title: Is it a Bumpy Word?

Body:
C#, <s>64</s> <s>63</s> 55 bytes

unsafe bool B(char*s)=>1>s[2]||*s<s[1]!=*++s<s[1]&B(s);

-8 bytes from Scepheo's suggestions

This is a port of Hedi's solution to C#. I also came up with a recursive solution, but the recursion wasn't as good. My original solution is below.

My Original C#, <s>96</s> <s>94</s> 91 bytes

unsafe bool B(char*s,bool f=1>0,int i=0)=>1>s[1]||(s[0]<s[1]?f:1>i?!(f=!f):!f)&B(s+1,!f,1);

-2 bytes by using 1>0 instead of true.

-3 bytes from Scepheo's suggestions for the port solution above

Calls itself recursively checking that the rising/falling alternates each time.

Ungolfed:

// unsafe in order to golf some bytes from string operations.
// f alternates with each recursive call
// i is 0 for the first call, 1 for all subsequent calls
unsafe bool B(char* s, bool f = 1 > 0, int i = 0) =>
    1 > s[1] ? 1 > 0// (instead of 1 == s.Length) check if s[1] = NULL, and return true.
    : (
        s[0] < s[1] ? f // Rising, so use f...
        : // Else falling
            1 > i ? !(f=!f) // But this is the first call, so use true (but flip f)...
            : !f // Not first call, so use !f...
    )
    & B(s+1, !f, 1) // ...AND the previous value with a recursive call
                    // s+1 instead of s.Substring(1)
;


答:
Python, 56 bytes

lambda s:all((x<y)^(y<z)for x,y,z in zip(s,s[1:],s[2:]))
```

All test cases are at ideone

Zips through triples of characters in s and tests that all such triples have left and right pairs with different rise/fall properties.

Works for either all uppercase or all lowercase.

Title: Is it a Bumpy Word?

Body:
Python, 56 bytes

lambda s:all((x<y)^(y<z)for x,y,z in zip(s,s[1:],s[2:]))

All test cases are at ideone

Zips through triples of characters in s and tests that all such triples have left and right pairs with different rise/fall properties.

Works for either all uppercase or all lowercase.


答:
LabVIEW, 36 equivalent bytes

Golfed down using logical equivalences:

Ungolfed:

First we convert to lowercase, then to byte array. Trim off the first element of the byte array as it has no precedent. Then, for each element in the array, check if it's greater than the previous one (U8 char maps to ASCII as you expect) and store the result for the next iteration, as well as in an array for viewing overall bumpiness. If the current and prior boolean check are equal, we terminate the loop and it's not bumpy. Else, it's bumpy!

Title: Is it a Bumpy Word?


答:
Python 2.7 (again, <s>84</s> 83 bytes)

```<code>def a(s):x=s[1:];return[cmp(s[0],x)]+a(x) if x else []
print len(set(a(input())))>1
</code>```

Or, <s>78</s> 77 bytes without the print.

<s>By the way, the above 56 byte Python 2.7 example breaks on, for example, "abbab" or any other input with repeated characters.</s> Never mind, didn't read instructions. Revising.

Okay, down to 83. The triples one is nicer though.

Title: Is it a Bumpy Word?

Body:
Python 2.7 (again, <s>84</s> 83 bytes)

def a(s):x=s[1:];return[cmp(s[0],x)]+a(x) if x else []
print len(set(a(input())))>1

Or, <s>78</s> 77 bytes without the print.

<s>By the way, the above 56 byte Python 2.7 example breaks on, for example, "abbab" or any other input with repeated characters.</s> Never mind, didn't read instructions. Revising.

Okay, down to 83. The triples one is nicer though.


问:
Parse the comments out of my esoteric code
Earlier this week, we learned about how to format esoteric languages for commenting. Today, we're going to do the inverse of that. I need you to write a program or function that parses some well-commented esoteric code and parses the comments out, returning just the code. Using some examples from the previous challenge, here is what well-commented code looks like:

```<code>a                #Explanation of what 'a' does
 bc              #Bc
   d             #d
    e            #Explanation of e
     fgh         #foobar
        ij       #hello world
          k      #etc.
           l     #so on
            mn   #and
              op #so forth
</code>```

Here is what you need to do to extract the code out. First, remove the comment character (#), the space before it, and everything after the comment character.

```<code>a
 bc
   d
    e
     fgh
        ij
          k
           l
            mn
              op
</code>```

Then, collapse each line upwards into a single line. For example, since b is in the second column on line two, once we collapse it up, it will be in the second column on line one. Similarly, c will be put in the third column of line one, and d will be put on the fourth. Repeat this for every character, and you get this:

```<code>abcdefghijklmnop
</code>```

Important note: It seems like the trivial solution is to just remove the comments, remove every space, and join every line. This is not a valid approach! Because the original code might have spaces in it, these will get stripped out with this approach. For example, this is a perfectly valid input:

```<code>hello         #Line one
              #Line two
       world! #Line three
</code>```

And the corresponding output should be:

```<code>hello  world!
</code>```

The Challenge:

Write a program or function that takes commented code as input, and outputs or returns the code with all the comments parsed out of it. You should output the code without any trailing spaces, although one trailing newline is permissible. The comment character will always be #, and there will always be one extra space before the comments start. # will not appear in the comment section of the input. In order to keep the challenge simpler, here are some inputs you do not have to handle:

You can assume that the code will not have two characters in the same column. For example, this is an input that violates this rule:

```<code>a  #A character in column one
bc #Characters in columns one and two
</code>```

You can also assume that all comment characters appear in the same column. For example, this input:

```<code>short       #this is a short line
      long        #This is a long line
</code>```

violates this rule. This also means that # will not be in the code section.

And lastly, you do not have to handle code sections with leading or trailing spaces. For example,

```<code>  Hello,          #
         World!   #
</code>```

You may also assume that the input only contains printable ASCII characters.

Examples:

```<code>Input:
hello         #Line one
              #Line two
       world! #Line three

Output:
hello  world!

Input:
E                                                   #This comment intentionally left blank
 ac                                                 #
   h s                                              #
      ecti                                          #
          on is                                     #
                one c                               #
                     haracte                        #
                            r longer                #
                                     than the       #
                                              last! #

Output:
Each section is one character longer than the last!

Input:
4          #This number is 7
 8         #
  15       #That last comment is wrong.
    16     #
      23   #
        42 #

Output:
4815162342

Input:
Hello                     #Comment 1
      world               #Comment 2
           ,              #Comment 3
             how          #Comment 4
                 are      #Comment 5
                     you? #Comment 6

Output:
Hello world, how are you?

Input:
Prepare                               #
        for...                        #
                        extra spaces! #

Output:
Prepare for...          extra spaces!
</code>```

You may take input in whatever reasonable format you like, for example, a list of strings, a single string with newlines, a 2d list of characters, etc. The shortest answer in bytes wins!

答:
Jelly, 27 bytes

```<code>żḟ€” ;€” Ḣ€
i€”#’©ḣ@"ç/ḣ®ṪṖ
</code>```

Test it at TryItOnline

Uses the strictest spec - the extra space before the comment character is removed at the cost of a byte.

Input is a list of strings.

Body:
Jelly, 27 bytes

żḟ€” ;€” Ḣ€
i€”#’©ḣ@"ç/ḣ®ṪṖ

Test it at TryItOnline

Uses the strictest spec - the extra space before the comment character is removed at the cost of a byte.

Input is a list of strings.


答:
Jelly, <s>8</s> 7 bytes

```<code>»/ṣ”#ḢṖ
</code>```

Try it online!

How it works

```<code>»/ṣ”#ḢṖ  Main link. Argument: A (array of strings)

»/       Reduce the columns of A by maximum.
         Since the space is the lowest printable ASCII characters, this returns the
         non-space character (if any) of each column.
  ṣ”#    Split the result at occurrences of '#'.
     Ḣ   Head; extract the first chunk, i.e., everything before the (first) '#'.
      Ṗ  Pop; remove the trailing space.
</code>```

Title: Parse the comments out of my esoteric code

Body:
Earlier this week, we learned about how to format esoteric languages for commenting. Today, we're going to do the inverse of that. I need you to write a program or function that parses some well-commented esoteric code and parses the comments out, returning just the code. Using some examples from the previous challenge, here is what well-commented code looks like:

```<code>a                #Explanation of what 'a' does
 bc              #Bc
   d             #d
    e            #Explanation of e
     fgh         #foobar
        ij       #hello world
          k      #etc.
           l     #so on
            mn   #and
              op #so forth
</code>```

Here is what you need to do to extract the code out. First, remove the comment character (#), the space before it, and everything after the comment character.

```<code>a
 bc
   d
    e
     fgh
        ij
          k
           l
            mn
              op
</code>```

Then, collapse each line upwards into a single line. For example, since b is in the second column on line two, once we collapse it up, it will be in the second column on line one. Similarly, c will be put in the third column of line one, and d will be put on the fourth. Repeat this for every character, and you get this:

```<code>abcdefghijklmnop
</code>```

Important note: It seems like the trivial solution is to just remove the comments, remove every space, and join every line. This is not a valid approach! Because the original code might have spaces in it, these will get stripped out with this approach. For example, this is a perfectly valid input:

```<code>hello         #Line one
              #Line two
       world! #Line three
</code>```

And the corresponding output should be:

```<code>hello  world!
</code>```

The Challenge:

Write a program or function that takes commented code as input, and outputs or returns the code with all the comments parsed out of it. You should output the code without any trailing spaces, although one trailing newline is permissible. The comment character will always be #, and there will always be one extra space before the comments start. # will not appear in the comment section of the input. In order to keep the challenge simpler, here are some inputs you do not have to handle:

You can assume that the code will not have two characters in the same column. For example, this is an input that violates this rule:

```<code>a  #A character in column one
bc #Characters in columns one and two
</code>```

You can also assume that all comment characters appear in the same column. For example, this input:

```<code>short       #this is a short line
      long        #This is a long line
</code>```

violates this rule. This also means that # will not be in the code section.

And lastly, you do not have to handle code sections with leading or trailing spaces. For example,

```<code>  Hello,          #
         World!   #
</code>```

You may also assume that the input only contains printable ASCII characters.

Examples:

```<code>Input:
hello         #Line one
              #Line two
       world! #Line three

Output:
hello  world!

Input:
E                                                   #This comment intentionally left blank
 ac                                                 #
   h s                                              #
      ecti                                          #
          on is                                     #
                one c                               #
                     haracte                        #
                            r longer                #
                                     than the       #
                                              last! #

Output:
Each section is one character longer than the last!

Input:
4          #This number is 7
 8         #
  15       #That last comment is wrong.
    16     #
      23   #
        42 #

Output:
4815162342

Input:
Hello                     #Comment 1
      world               #Comment 2
           ,              #Comment 3
             how          #Comment 4
                 are      #Comment 5
                     you? #Comment 6

Output:
Hello world, how are you?

Input:
Prepare                               #
        for...                        #
                        extra spaces! #

Output:
Prepare for...          extra spaces!
</code>```

You may take input in whatever reasonable format you like, for example, a list of strings, a single string with newlines, a 2d list of characters, etc. The shortest answer in bytes wins!

Body:
Jelly, <s>8</s> 7 bytes

»/ṣ”#ḢṖ

Try it online!

How it works

»/ṣ”#ḢṖ  Main link. Argument: A (array of strings)

»/       Reduce the columns of A by maximum.
         Since the space is the lowest printable ASCII characters, this returns the
         non-space character (if any) of each column.
  ṣ”#    Split the result at occurrences of '#'.
     Ḣ   Head; extract the first chunk, i.e., everything before the (first) '#'.
      Ṗ  Pop; remove the trailing space.


答:
Python 2, 187 bytes

```<code>def f(x,o=""):
 l=[i[:i.index("#")-1]for i in x]
 for n in range(len(l[0])):
  c=[x[n]for x in l]
  if sum([1for x in c if x!=" "])<1:o+=" "
  else:o+=[x for x in c if x!=" "][0]
 print o
</code>```

I'm gonna golf this more tomorrow I have school ;)

Body:
Python 2, 187 bytes

def f(x,o=""):
 l=[i[:i.index("#")-1]for i in x]
 for n in range(len(l[0])):
  c=[x[n]for x in l]
  if sum([1for x in c if x!=" "])<1:o+=" "
  else:o+=[x for x in c if x!=" "][0]
 print o

I'm gonna golf this more tomorrow I have school ;)


问:
Implementing bool() without any conditionals
Title says it all. Given some input, turn it into a boolean value (0 or 1), without using conditional statements (e.x. == > < <= >= != ~=), or any function which uses conditional statements within its implementation, such as if, while and for. Your program must work with floating points, although you get more if it works with other items.

A general rule for determining whether bool(item) is False is if the item is empty ('' is an empty string, [] is an empty list.), or if the function used to turn an item of one type into another is given no input (in Python, str() returns '', list() returns [].)

Here are (some of) the different valid types. Your program is considered to work with one type if it works with one item in the following lists:

Integers, floating points, doubles, longs

Strings

Lists, tuples, arrays (bytearrays)

Dictionaries

Functions

Objects/Classes

Program score will be calculated like this: [# of characters]-(50*[# of types]). The program with the smallest score wins the challenge.

答:
Scala(152 characters)

```<code>implicit def?(a:Any)={val f=false;a match{case 0=>f;case null=>f;case ""=>f;case ()=>f;case None=>f;case x:Iterable[_]=>x.exists(_=>true)case _=>true}}
</code>```

Sample inputs:

```<code>scala> if(0) true else false
res0: Boolean = false

scala> if(0.0) true else false
res1: Boolean = false

scala> if(1) true else false
res2: Boolean = true

scala> if(()) true else false
res3: Boolean = false

scala> if(List()) true else false
res4: Boolean = false

scala> if(List(1)) true else false
res5: Boolean = true

scala> if(Set()) true else false
res6: Boolean = false

scala> if("") true else false
res7: Boolean = false

scala> if(Map()) true else false
res8: Boolean = false

scala> if(None) true else false
res9: Boolean = false

scala> class X
defined class X

scala> if(new X()) true else false
res10: Boolean = true
</code>```

Body:
Scala(152 characters)

implicit def?(a:Any)={val f=false;a match{case 0=>f;case null=>f;case ""=>f;case ()=>f;case None=>f;case x:Iterable[_]=>x.exists(_=>true)case _=>true}}

Sample inputs:

scala> if(0) true else false
res0: Boolean = false

scala> if(0.0) true else false
res1: Boolean = false

scala> if(1) true else false
res2: Boolean = true

scala> if(()) true else false
res3: Boolean = false

scala> if(List()) true else false
res4: Boolean = false

scala> if(List(1)) true else false
res5: Boolean = true

scala> if(Set()) true else false
res6: Boolean = false

scala> if("") true else false
res7: Boolean = false

scala> if(Map()) true else false
res8: Boolean = false

scala> if(None) true else false
res9: Boolean = false

scala> class X
defined class X

scala> if(new X()) true else false
res10: Boolean = true


答:
Python 3, 148 139 127 bytes

```<code>def _(w):*r,=map(lambda a,b:0>ord(a)-ord(b)and-1or 1,w,w[1:]);s=len(r)%2==0and r+[r[0]]or r;return sum(s)in(-1,1)and s==s[::-1]
</code>```

testing code

```<code>positives = ('ABA', 'ABB', 'BAB', 'BUMP', 'BALD', 'BALDY', 'UPWARD', 'EXAMINATION', 'AZBYCXDWEVFUGTHSIRJQKPLOMN')
negatives = ('AAA', 'BBA', 'ACE', 'THE', 'BUMPY', 'BALDING', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')

for w in positives:
    print(_(w), w)
    assert _(w)

for w in negatives:
    print(_(w), w)
    assert not _(w)
</code>```

Title: Is it a Bumpy Word?

Body:
Python 3, 148 139 127 bytes

def _(w):*r,=map(lambda a,b:0>ord(a)-ord(b)and-1or 1,w,w[1:]);s=len(r)%2==0and r+[r[0]]or r;return sum(s)in(-1,1)and s==s[::-1]

testing code

positives = ('ABA', 'ABB', 'BAB', 'BUMP', 'BALD', 'BALDY', 'UPWARD', 'EXAMINATION', 'AZBYCXDWEVFUGTHSIRJQKPLOMN')
negatives = ('AAA', 'BBA', 'ACE', 'THE', 'BUMPY', 'BALDING', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')

for w in positives:
    print(_(w), w)
    assert _(w)

for w in negatives:
    print(_(w), w)
    assert not _(w)


问:
Source code GO!
Let's use augmented reality to hunt small creatures hidden in source-code. Write a quine program that outputs its own code source, except for 5 consecutive characters that will be modified and that will display a PCG-mon : (^_^)

The 5 consecutive characters can be positioned anywhere in the source code (from position 0 to n-5, n being the source code length). The source code must have a minimum length of 5 characters. The string (^_^) or any of its substring of length >=2 must not appear in initial source code, only in output.

Example of valid submission:

source code my source code, output my (^_^)e code

Invalid:

source code (^_^) copy;, output (^_^) (^_^)

Winning criteria

The shortest code in bytes wins.

答:
Vim, <s>33</s>, 27 keystrokes

```<code>qqqqqS(<C-v>94_<C-v>94)q@q<esc>hh"qPq@q
</code>```

Note that <C-v> means ctrl+v, and is byte 0x16 and <esc> is the escape character, and is byte 0x1B.

This just uses a slightly modified version of my Golf you a quine for great good! answer.

Outputs:

```<code>(^_^)S(^V94_^V94)q@q^[hh"qPq@q
</code>```

This is valid since ^V is the way vim represents <C-v> and ^[ is the way vim represents <esc>.

The basic idea, is just to input the text (^_^) by its code points so we can avoid putting those characters in the source code. In insert mode, <C-v>number will insert the ASCII character of "number". However, since the challenge says:

The string (^_^) or any of its substring of length >=2 must not appear in initial source code, only in output.

This answer abuses the "substring" rule by only entering the codepoints of the ^ characters, and entering (, _, and ) directly.

Here's a gif that lets you see this solution in action, and puts the source code and output side by side for comparison:

Title: Source code GO!

Body:
Vim, <s>33</s>, 27 keystrokes

qqqqqS(<C-v>94_<C-v>94)q@q<esc>hh"qPq@q

Note that <C-v> means ctrl+v, and is byte 0x16 and <esc> is the escape character, and is byte 0x1B.

This just uses a slightly modified version of my Golf you a quine for great good! answer.

Outputs:

(^_^)S(^V94_^V94)q@q^[hh"qPq@q

This is valid since ^V is the way vim represents <C-v> and ^[ is the way vim represents <esc>.

The basic idea, is just to input the text (^_^) by its code points so we can avoid putting those characters in the source code. In insert mode, <C-v>number will insert the ASCII character of "number". However, since the challenge says:

The string (^_^) or any of its substring of length >=2 must not appear in initial source code, only in output.

This answer abuses the "substring" rule by only entering the codepoints of the ^ characters, and entering (, _, and ) directly.

Here's a gif that lets you see this solution in action, and puts the source code and output side by side for comparison:


答:
Python 2, <s>48</s> 43 bytes

lambda x:`map(max,*x)`[2::5].split(' #')[0]
```

Thanks to @xnor for golfing off 5 bytes!

Test it on Ideone.

Body:
Python 2, <s>48</s> 43 bytes

lambda x:`map(max,*x)`[2::5].split(' #')[0]

Thanks to @xnor for golfing off 5 bytes!

Test it on Ideone.


答:
Python, 51 bytes

g=lambda a,b,c,*s:((a<b)^(b<c))*(s==()or g(b,c,*s))
```

Takes input like g('B','U','M','P') and outputs 1 or 0.

Uses argument unpacking to take the first three letters and check if the first two compare differently from the second two. Then, recurses on the remainder, using multiplication for and.

Title: Is it a Bumpy Word?

Body:
Python, 51 bytes

g=lambda a,b,c,*s:((a<b)^(b<c))*(s==()or g(b,c,*s))

Takes input like g('B','U','M','P') and outputs 1 or 0.

Uses argument unpacking to take the first three letters and check if the first two compare differently from the second two. Then, recurses on the remainder, using multiplication for and.


答:
CJAM, 16 15 bytes

Try it here.

```<code>{"^(_)"(*}_~sss
</code>```

Title: Source code GO!

Body:
Let's use augmented reality to hunt small creatures hidden in source-code. Write a quine program that outputs its own code source, except for 5 consecutive characters that will be modified and that will display a PCG-mon : (^_^)

The 5 consecutive characters can be positioned anywhere in the source code (from position 0 to n-5, n being the source code length). The source code must have a minimum length of 5 characters. The string (^_^) or any of its substring of length >=2 must not appear in initial source code, only in output.

Example of valid submission:

source code my source code, output my (^_^)e code

Invalid:

source code (^_^) copy;, output (^_^) (^_^)

Winning criteria

The shortest code in bytes wins.

Body:
CJAM, 16 15 bytes

Try it here.

{"^(_)"(*}_~sss


答:
J, 30 bytes

```<code>(#~[:<./\'#'~:])@(>./&.(3&u:))
</code>```

Takes a list of strings as input. Basically uses the same approach as Dennis in his Jelly answer.

Commented and explained

```<code>ord =: 3 & u:
under =: &.
max =: >./
over =: @
maxes =: max under ord
neq =: ~:
arg =: ]
runningMin =: <./\
magic =: #~ [: runningMin ('#' neq arg)

f =: magic over maxes
</code>```

Intermediate steps:

```<code>   p
Hello                     #Comment 1
      world               #Comment 2
           ,              #Comment 3
             how          #Comment 4
                 are      #Comment 5
                     you? #Comment 6
   maxes p
Hello world, how are you? #Comment 6
   magic
#~ ([: runningMin '#' neq arg)
   3 neq 4
1
   '#' neq '~'
1
   '#' neq '#'
0
   '#' neq maxes p
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
   runningMin 5 4 2 5 9 0 _3 4 _10
5 4 2 2 2 0 _3 _3 _10
   runningMin '#' neq maxes p
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
   0 1 0 1 1 0 # 'abcdef'
bde
   'abcdef' #~ 0 1 0 1 1 0
bde
   (maxes p) #~ runningMin '#' neq maxes p
Hello world, how are you?
   (#~ [: runningMin '#' neq arg) maxes p
Hello world, how are you?
   ((#~ [: runningMin '#' neq arg) over maxes) p
Hello world, how are you?
   (magic over maxes) p
Hello world, how are you?
</code>```

Test case

```<code>   f =: (#~[:<./\'#'~:])@(>./&.(3&u:))
   a
Hello                     #Comment 1
      world               #Comment 2
           ,              #Comment 3
             how          #Comment 4
                 are      #Comment 5
                     you? #Comment 6
   $a
6 36
   f a
Hello world, how are you?
</code>```

Body:
J, 30 bytes

(#~[:<./\'#'~:])@(>./&.(3&u:))

Takes a list of strings as input. Basically uses the same approach as Dennis in his Jelly answer.

Commented and explained

ord =: 3 & u:
under =: &.
max =: >./
over =: @
maxes =: max under ord
neq =: ~:
arg =: ]
runningMin =: <./\
magic =: #~ [: runningMin ('#' neq arg)

f =: magic over maxes

Intermediate steps:

   p
Hello                     #Comment 1
      world               #Comment 2
           ,              #Comment 3
             how          #Comment 4
                 are      #Comment 5
                     you? #Comment 6
   maxes p
Hello world, how are you? #Comment 6
   magic
#~ ([: runningMin '#' neq arg)
   3 neq 4
1
   '#' neq '~'
1
   '#' neq '#'
0
   '#' neq maxes p
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
   runningMin 5 4 2 5 9 0 _3 4 _10
5 4 2 2 2 0 _3 _3 _10
   runningMin '#' neq maxes p
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
   0 1 0 1 1 0 # 'abcdef'
bde
   'abcdef' #~ 0 1 0 1 1 0
bde
   (maxes p) #~ runningMin '#' neq maxes p
Hello world, how are you?
   (#~ [: runningMin '#' neq arg) maxes p
Hello world, how are you?
   ((#~ [: runningMin '#' neq arg) over maxes) p
Hello world, how are you?
   (magic over maxes) p
Hello world, how are you?

Test case

   f =: (#~[:<./\'#'~:])@(>./&.(3&u:))
   a
Hello                     #Comment 1
      world               #Comment 2
           ,              #Comment 3
             how          #Comment 4
                 are      #Comment 5
                     you? #Comment 6
   $a
6 36
   f a
Hello world, how are you?