64
votes
\$\begingroup\$

Task:

Create an obfuscated program that prints Hello World! (exactly like that). Your program may not have any strings in it.

Rules:

  • You can use any programming language you like.
  • Make it as obfuscated as possible
  • This is a , so the answer with the most upvotes wins.

Note:

This is not a duplicate of this question. That one was and it had different rules.

\$\endgroup\$
13
  • 1
    \$\begingroup\$ Who is the first to submit BF? :) \$\endgroup\$
    – VisioN
    Mar 1, 2014 at 15:34
  • 3
    \$\begingroup\$ @VisioN - I would consider BF not really obfuscated... \$\endgroup\$
    – TheDoctor
    Mar 1, 2014 at 15:38
  • 3
    \$\begingroup\$ dangermouse.net/esoteric/piet/hw1-11.gif is a Hello World program in Piet. More information: dangermouse.net/esoteric/piet.html \$\endgroup\$
    – Tyler
    Mar 1, 2014 at 15:47
  • 3
    \$\begingroup\$ "That one was code-golf" doesn't make it not a duplicate. The rules do seem to exclude copying the answers from the older question, but principally because they exclude all answers: there's no program which can't be obfuscated more. \$\endgroup\$ Mar 1, 2014 at 16:29
  • 6
    \$\begingroup\$ I disagree that they are duplicates, on different grounds than simply "The other one was a code-golf". The code-golf one required that a specific subset of characters never be used in the source code, whether it be in a string or not. There should be no matches in any of those entries against the following regex: /[dehlorw01]/. Also, length was graded. In this, it just requires no usage of strings (and probably no char[][], wither). Length isn't counted, but creativity is the main decisive factor, thus the popularity-contest tag. \$\endgroup\$
    – Claudia
    Mar 1, 2014 at 19:53

55 Answers 55

99
votes
\$\begingroup\$

Python 2

I happened to be playing with this yesterday, so:

(lambda _, __, ___, ____, _____, ______, _______, ________: getattr(__import__(True.__class__.__name__[_] + [].__class__.__name__[__]), ().__class__.__eq__.__class__.__name__[:__] + ().__iter__().__class__.__name__[_____:________])(_, (lambda _, __, ___: _(_, __, ___))(lambda _, __, ___: chr(___ % __) + _(_, __, ___ // __) if ___ else (lambda: _).func_code.co_lnotab, _ << ________, (((_____ << ____) + _) << ((___ << _____) - ___)) + (((((___ << __) - _) << ___) + _) << ((_____ << ____) + (_ << _))) + (((_______ << __) - _) << (((((_ << ___) + _)) << ___) + (_ << _))) + (((_______ << ___) + _) << ((_ << ______) + _)) + (((_______ << ____) - _) << ((_______ << ___))) + (((_ << ____) - _) << ((((___ << __) + _) << __) - _)) - (_______ << ((((___ << __) - _) << __) + _)) + (_______ << (((((_ << ___) + _)) << __))) - ((((((_ << ___) + _)) << __) + _) << ((((___ << __) + _) << _))) + (((_______ << __) - _) << (((((_ << ___) + _)) << _))) + (((___ << ___) + _) << ((_____ << _))) + (_____ << ______) + (_ << ___))))(*(lambda _, __, ___: _(_, __, ___))((lambda _, __, ___: [__(___[(lambda: _).func_code.co_nlocals])] + _(_, __, ___[(lambda _: _).func_code.co_nlocals:]) if ___ else []), lambda _: _.func_code.co_argcount, (lambda _: _, lambda _, __: _, lambda _, __, ___: _, lambda _, __, ___, ____: _, lambda _, __, ___, ____, _____: _, lambda _, __, ___, ____, _____, ______: _, lambda _, __, ___, ____, _____, ______, _______: _, lambda _, __, ___, ____, _____, ______, _______, ________: _)))

Here is a more readable version: http://codepad.org/UzSmoxF2

Notes:

  • One line, single expression (i.e. no print statement).

  • No strings, no ints; only functions, attribute access, lists, tuples, basic math, one True, and one star-args.

  • Minimal builtin usage (__import__, getattr, and chr once each).

  • The payload can be changed easily. Here is the program I wrote to generate it.

Edit: I wrote a fairly substantial explanation of how this works on my blog.

\$\endgroup\$
3
  • 7
    \$\begingroup\$ Nice. Highly readable. \$\endgroup\$
    – devnull
    Mar 2, 2014 at 3:55
  • 45
    \$\begingroup\$ "more readable version" \$\endgroup\$
    – ASKASK
    Mar 2, 2014 at 6:14
  • 2
    \$\begingroup\$ Congrats on 100! \$\endgroup\$ Mar 15, 2016 at 2:56
64
votes
\$\begingroup\$

JavaScript

([]+/H/)[1&11>>1]+(+[[]+(1-~1<<1)+(~1+1e1)+(1%11)+(1|1>>1|1)+(~1+1e1)+(.1^!1)])[[([]+!![
11])[11^11]+[[{}]+{}][1/1.1&1][1]]+([[]+111/!1][+!1][([{}]+{})[1e1>>1]+[[],[]+{}][1&11>>
1][1|[]]+([]+[][111])[1&1]+[{},1e1,!1+{}][~~(1.1+1.1)][1^1<<1]+(11/!{}+{})[1-~1<<1]+[!!{
}+[]][+(11>11)][[]+1]+(/^/[1.11]+/&/)[.1^!1]+[{},[{}]+{},1][1&11>>1][1+1e1+1]+([]+!!{})[
.1^!1]+([]+{}+[])[[]+1]+[!!{}+{}][!11+!111][[]+1]]+[])[(!/~/+{})[1|1<<1]+[/=/,[]+[][1]][
1&11>>1][1&1>>1]+([]+{})[~~(1.1+1.1)]+[1,!1+{}][1%11][1^1<<1]+(111/[]+/1/)[~1+1e1+~1]+[!
!/-/+[]][+(11>11)][1]]((1<<1^11)+((+(1<1))==([]+/-/[(!![11]+[])[+!1]+(!!/-/+{})[1-~1]+([
]+!/~/)[1-~1]+(!!/-/+{})[!111+!111]])[11%11]),-~11>>1)](~1-~1e1<<1<<1)+([]+{111:1111}+[]
)[11111.1%11.1*111e11|!11]+({}+/W/)[1+~1e1-(~11*1.1<<1)]+(+[[]+(1|1>>1)+(1|1>>1|1)+(11-1
>>1)+(1e1>>1|1)+(1e1>>1)+(1>>11)+(11>>>1)])[[(!!{}+[])[11>>>11]+[[]+{}][.1^!1][111%11]]+
([11/[]+[]][111%111][([{}]+[{}])[1e1>>1]+[[],[{}]+[{}]][1|1>>1|1][1|[]]+([][11]+[])[[]+1
]+[{},1e1,![1]+/~/][1<<!1<<1][1<<1^1]+(1/!1+{})[11+1>>1]+[!!/-/+{}][+(111>111)][111%11]+
([][11]+/&/)[1&1>>1]+[{},[]+{}+[],1][[]+1][11-~1+11>>1]+([]+!!/-/)[11>>11]+([]+{})[1|1>>
1|1]+[[]+!!{}][1>>>1][1&11]]+[])[(!{}+[])[1^1<<1]+[/=/,[]+[][1]][1<<1>>1][!111+!111]+([]
+{}+[])[1<<1^1>>1]+[1,![11]+[]][1|1>>1][1|1<<1|1]+(11/[]+/1/)[-~11>>1]+[!![111]+{}][+[]]
[1|1>>1]]((1e1-1)+((1&1>>1)==([]+/-/[(!!{}+{})[+(1>1)]+(!!/-/+{})[1|1<<1]+(!1+{})[1|1<<1
|1]+(!!/-/+{})[11.11>>11.11]])[1&1>>1]),1-~1<<1)](~1-~1e1<<1<<1)+(/^!/+[])[1+!![11%111]]

Description of how it works can be found in this answer on StackOverflow.

Simply run this in the browser console (e.g. in Firebug or in Chrome Dev Tools).

\$\endgroup\$
50
votes
\$\begingroup\$

C

A multiplicative salutation:

#include <stdio.h>
main() {
  long long P = 1,
            E = 2,
            T = 5,
            A = 61,
            L = 251,
            N = 3659,
            R = 271173410,
            G = 1479296389,
            x[] = { G * R * E * E * T , P * L * A * N * E * T };
  puts((char*)x);
}
\$\endgroup\$
3
  • \$\begingroup\$ You cannot have STRINGS ! \$\endgroup\$ Mar 2, 2014 at 5:50
  • 19
    \$\begingroup\$ I don't think he used string. He is just type-casting it. \$\endgroup\$
    – microbian
    Mar 2, 2014 at 8:51
  • 3
    \$\begingroup\$ This is clever - and doesn't even involve undefined behavior, despite appearances (better you should use 'unsigned long long') - but only works on little-endian systems. \$\endgroup\$
    – zwol
    Mar 3, 2014 at 17:45
50
votes
\$\begingroup\$

PHP

<?=${[${[${[${[${[${[${[${[${${![]}.=[]}.=${![]}{!![]}]}.=${!![${[${[
${[${[${[${[${[]}++]}++]}++]}++]}++]}++]}++]}{![]+![]+![]}]}.=${[${[$
{[${[${[]}++]}++]}++]}++]}{![]}]}.=${[${[${[${[${[${[${[${[]}++]}++]}
++]}++]}++]}++]}++]}{![]+![]}.${[]}{![]+![]}]}.=${![]}^${!![${[${[${[
]}++]}++]}++]}{![]+![]+![]}]}.=${[]}{!![]}]}.=${[${[${[${[${[${[${[${
[${[${[${[${[${[${[${[${[]}++]}++]}++]}++]}++]}++]}++]}++]}++]}++]}++
]}++]}++]}++]}++]}{![]+![]+![]+![]}.${[]}{![]+![]+![]+![]}]}.=${[${[$
{[${[]}++]}++]}++]}{![]+![]}.${![]}{![]+![]+![]}]}.=${[${![]}=${![]}{
!![]}]}{!![${!![${!![${![]}++]}++]}++]}^${!![${[${[${[]}++]}++]}++]};

I've translated this into a single statement, which I think makes it considerably harder to decipher. This version uses only 13 unique characters.


Original version

<?${[]}.=[];${![]}.=${[]}{!![]};++${![]};++${![]};++${![]};++${![]};++${![]};++${
![]};++${![]};${![]}.=${[]}{![]+![]+![]};++${![]};++${![]};++${![]};++${![]};${![
]}.=${![]}{![]};++${![]};++${![]};++${![]};++${![]};++${![]};++${![]};++${![]};${
![]}.=${![]}{![]+![]}.${![]}{![]+![]};++${![]};++${![]};++${![]};${![]}.=${[]}^${
[]}{![]+![]+![]};${![]}.=${![]}{!![]};++${![]};++${![]};++${![]};++${![]};++${![]
};++${![]};++${![]};++${![]};++${![]};++${![]};++${![]};++${![]};++${![]};++${![]
};++${![]};${![]}.=${![]}{![]+![]+![]+![]}.${![]}{![]+![]+![]+![]};++${![]};++${!
[]};++${![]};${![]}.=${![]}{![]+![]}.${[]}{![]+![]+![]};++${![]};++${![]};++${![]
};${[]}=${[]}{!![]};++${[]};++${[]};++${[]};${![]}.=${[]}^${![]}{![]}?><?=${![]};

14 unique characters. I could make a script to generate these and dub it "PHPFuck", but I don't think it would be very useful.


How it works

When an array - including the empty array - is cast to string, the result is always the amazingly helpful string "Array". I'm not sure who thought that was a good idea. PHP supports the increment operator (but not decrement) for strings, for example "++A" → "B". The original string contains both "A" and "a", so all latin characters can be produced, brainfuck style. Space is produced with "A" ^ "a", and exclamation with "D" ^ "e".

\$\endgroup\$
3
  • \$\begingroup\$ I am very curious on how to go about creating a script to generate this type of obfuscation, if you have 5 minutes to discuss it, I would greatly appreciate it =] I will be in chat.stackexchange.com/rooms/13342/weirdest-obfuscations \$\endgroup\$ Mar 2, 2014 at 23:25
  • \$\begingroup\$ I just took a look at the jsfuck source, interesting... I was expecting something a little more dynamic than a char map =] ... I will be chilling in that room if anyone wants to join =] \$\endgroup\$ Mar 2, 2014 at 23:32
  • 2
    \$\begingroup\$ This is much better than the Javascript answer, which has /H/ and /W/ in it. \$\endgroup\$
    – durron597
    Mar 4, 2014 at 16:09
39
votes
\$\begingroup\$

PHP

Here's a simple PHP script that outputs Hello World!:

<?php
function SGVsbG8gV29ybGQh($_ = 0) {(
    $___=__FUNCTION__
    )&&
    !$_ and list($_,$__) = array_values(array_filter($___(42), $___)) and
    !$_($__($___)) and
    $___($___); return
    $_
    &42
    ?current(get_defined_functions()):(
    !((
    $_=md5($_))-42*2)or
    !(md5($_ = md5($_))-42/2
    *3)
);};

SGVsbG8gV29ybGQh();

Click here for the demo.

\$\endgroup\$
7
  • 11
    \$\begingroup\$ I still have no idea why that prints anything. \$\endgroup\$
    – primo
    Mar 1, 2014 at 19:21
  • 1
    \$\begingroup\$ @primo The function name is the key ;) \$\endgroup\$
    – VisioN
    Mar 1, 2014 at 19:47
  • \$\begingroup\$ Base64 decoding? \$\endgroup\$
    – Linuxios
    Mar 1, 2014 at 20:22
  • \$\begingroup\$ That too, but it's a little bit more. \$\endgroup\$
    – Razvan
    Mar 2, 2014 at 8:16
  • 1
    \$\begingroup\$ @Razvan Have you tried all built in functions the check if only two hashed start with 84 and 63? That's brilliant! \$\endgroup\$
    – VisioN
    Mar 2, 2014 at 9:38
34
votes
\$\begingroup\$

Whitespace

   	  	   
	
     		  	 	
	
     		 		  
	
     		 		  
	
     		 				
	
     	     
	
     	 	 			
	
     		 				
	
     			  	 
	
     		 		  
	
     		  	  
	
     	    	
	
  



Wikipedia: Whitespace (programming language)
Online Interpreter to Test Answer

The program pushes the ASCII character codes through the following steps (taken from the interpreter debug sidebar):

push 72
printc
push 101
printc
push 108
printc
push 108
printc
push 111
printc
push 32
printc
push 87
printc
push 111
printc
push 114
printc
push 108
printc
push 100
printc
push 33
printc
end
\$\endgroup\$
1
  • 8
    \$\begingroup\$ For extra points, combine this with a non-whitespace one as well. \$\endgroup\$
    – zebediah49
    Mar 3, 2014 at 17:39
33
votes
\$\begingroup\$

Bash (under Linux)

I hope your shell scripts don't look like this:

:; ______=$? __=${#______} ____=$[__+__] ________=$[__+____] _____=$[____+____]
     __________=$[____+_____] _________=$[__+__________] ______________=(
            /????/$$/????) ____________=${______________[$______]} 
   _____________=${____________##*/} _______________=(${____________//\// })
          ________________=${_______________: -$__:$__}$_____________
           ___________________=${________________:$______:$________}
   ___________=${_____________:$______:$__} _________________=${___________^}
     . <($___________________<<<__________________=\({$_________________..\
${___________}}\))&&_______=(${__________________[@]:$______:$____$__________})
  ___=(${_______[@],,})&&${___[$_____]}${___[$____]}${___[$_________]}${___[
$__$_____]} -${___[$_____]} ${_______[ $_________]}${___[${_____}]}${___[$__$__
]}${___[$__$__]}${___[$__$_____]} ${_______[$____$____]}${___[$__$_____]}${___[
$__$_________]}${___[ $__$__]}${___[$________]}\\$______$[$_____#$____$____$__]
  • Not a single alphanumeric character - given this restriction, it hardly seems worth doing further obfuscation
  • No strings (no quotes, anyway)
  • There is a dependency on Linux - specifically that the attr file is the first file in /proc/$PID with a 4-character filename

See if you can spot the hidden eval.

\$\endgroup\$
12
  • \$\begingroup\$ There seem to be some limitation on SO rendering: I said that last line could begin by ${__[${____}]}${__[${__________}]}${__[${_______}]}${__[${___}${____}]} -${__[${____}]} (echo -e) and replace ! by \\${_________}${____}${___} \$\endgroup\$ Mar 2, 2014 at 10:05
  • \$\begingroup\$ or worst: \\${_________}$[${______}${____}#${_____[${___________}+${__________}]}] make an exclamation point too;-) \$\endgroup\$ Mar 2, 2014 at 10:12
  • \$\begingroup\$ This is pretty. But there are a couple of problems: (1) it isn't quite portable, I can't get it to run as is on BSD. (2) the script assumes that _________ would be set to 0 (what would happen if the script were sourced instead after an error?). \$\endgroup\$
    – devnull
    Mar 2, 2014 at 17:14
  • \$\begingroup\$ @devnull 2) is easy to fix - just run the : command to clear any previous error conditions reported in $?. \$\endgroup\$ Mar 2, 2014 at 18:16
  • 3
    \$\begingroup\$ @devnull Sorry, no prizes, other than a smug sense of self satisfaction ;-) \$\endgroup\$ Mar 2, 2014 at 18:26
29
votes
\$\begingroup\$

GolfScript

[' '(..4/++][' '(3*)))))][6`(2*.]['1'..++~][8 2?2/][' '(4/.(`\`\+~]['1'.+~2?10-][13(1)?8((0)))))*-][6`(1)*]['('(4/2?][' '()]+++++++++++

It was quite challenging to create and debug this. It doesn't contain strings, only chars.

It outputs:

Hello World!

Test online

Explanation

How this works:

  1. [' '(..4/++]
    1. ' '( converts the space to its ASCII code: 32.
    2. .. duplicates 32 twice. Now you have three times 32.
    3. 4/ divides the top 32 by 4. Now you have twice 32 and once 8.
    4. ++ adds up the 32, 32 and 8. You get 72, which is the ASCII code for H.
  2. [' '(3*)))))]
    1. ' '( converts the space to 32.
    2. 3* multiplies the 32 with 3: 96
    3. ))))) increases 96 with 5, you get 101, which is the ASCII code for e.
  3. [6`(2*.]
    1. 6`( gives the ASCII code of the char 6: 54
    2. 2* multiplies it with 2, you get 108, which is the ASCII code for l.
    3. . duplicates the l
  4. ['1'..++~]
    1. '1'.. puts the char 1 on the stack and duplicates it twice.
    2. ++ concatenates the three chars and returns the string 111
    3. ~ converts it to the integer 111, which is the ASCII code for o
  5. [8 2?2/]
    1. 8 2? calculates 82, you get 64
    2. 2/ divides it by 2, you get 32, which is the ASCII code for a space.
  6. [' '(4/.(`\`\+~]
    1. ' '( converts the space to 32.
    2. 4/. divides it by 4, you get 8. The . duplicates it.
    3. (` decrements the second 8 and converts it to a string.
    4. \ swaps the top two elements. The 8 becomes the top element.
    5. ` converts the 8 to a string.
    6. \ swaps the top two elements. The 7 becomes the top element.
    7. + concatenates the two strings. You get 87 (as a string).
    8. ~ converts the string 87 to the integer 87, which is the ASCII code for W.
  7. ['1'.+~2?10-]
    1. '1'. puts the char 1 on the stack and duplicates it.
    2. +~ concatenates the two chars to the string 11 and converts it to an integer.
    3. 2? calculates 112, you get 121.
    4. 10- decreases 121 with 10, you get the ASCII code for o: 111.
  8. [13(1)?8((0)))))*-]
    1. 13( puts 12 on the stack.
    2. 1) puts 2 on the stack.
    3. ? calculates 122, you get 144.
    4. 8(( puts 6 on the stack.
    5. 0))))) puts 5 on the stack.
    6. * multiplies 6 and 5, you get 30.
    7. - substracts 144 with 30, you get 114, which is the ASCII code for r
  9. [6`(1)*]
    1. 6`( converts 6 to a char and takes its ASCII code: 54
    2. 1)* multiplies 54 with 2, you get 108, the ASCII code of l
  10. ['('(4/2?]
    1. '('( converts ( to its ASCII code, 40.
    2. 4/ divides 40 by 4, you get 10.
    3. 2? calculates 102, you get 100, which is the ASCII code for d
  11. [' '()]
    1. ' '( converts the space to its ASCII code: 32
    2. ) increments the 32, you get 33, which is the ASCII code for !
  12. +++++++++++ concatenates all ASCII codes to one string.
\$\endgroup\$
3
  • 11
    \$\begingroup\$ +1 for a nice explanation. This is unusual for golfscript answers for some reason. \$\endgroup\$ Mar 2, 2014 at 15:05
  • \$\begingroup\$ @DigitalTrauma I'm pretty sure there's a good reason \$\endgroup\$
    – qwr
    Mar 3, 2014 at 1:20
  • 2
    \$\begingroup\$ This is the first time that I see a long GolfScript answer for a normally trivially solved problem. \$\endgroup\$ Mar 3, 2014 at 17:34
20
votes
\$\begingroup\$

Brainf***

Not sure if this really counts as obfuscated, but it never uses more than four plus or minus symbols in a row. So there's that.

>>+++[<+++>-]<+[>+++>>+++[<+++>-]<+[<]>-]<+++[>+++<-]>+[>++++<-]>++.>+.>+++
[<++>-]<+..+++.<<<+++[>+++<-]>+[>----<-]>.>[>+>+<<-]++++[>++<-]>.>.+++.>++[
<--->-]<.>++[<---->-]<.<<<+.
\$\endgroup\$
2
  • 14
    \$\begingroup\$ +1 for saying anything Brainfuck might not count as obfuscated. \$\endgroup\$
    – RubberDuck
    Apr 30, 2014 at 13:29
  • \$\begingroup\$ meanwhile, back in 1992... "Every program can be obfuscated! And when every program's obfuscated..." <Urban Müller chuckles evilly> "no program will be..." \$\endgroup\$ Mar 10, 2016 at 18:06
19
votes
\$\begingroup\$

Mathematica

Simple Algebra I math.

a=+x+8x^2+8(x^3+x^9);
b=11(x^4+x^7)-68x^5-13x^6;
c=-28+14x^8-67x^11;
w=ToExpression[Names[__][[1571]]];  
v=ToExpression[Names[__][[604]]]; 
y=Solve[a+b+c,{x},Reals];  
w[v[y[[1]],x]+100]

Hello World!

\$\endgroup\$
2
  • 2
    \$\begingroup\$ FromCharacterCode breaks all intrigue... \$\endgroup\$
    – VisioN
    Mar 2, 2014 at 9:31
  • 1
    \$\begingroup\$ VisionN, FromCharacterCode is now obfuscated. So is CoefficientList. \$\endgroup\$
    – DavidC
    Mar 2, 2014 at 14:04
17
votes
\$\begingroup\$

C

#define u unsigned char
#define v while(*x)
#define z(x) putchar(*x);
#define y(x) ++*x;
#define p(x) ++x;
#define e(x) --*x;
#define d(x) --x;
#define w(x) x x
main(){u *x=calloc(12,1);u *l=x;w(w(w(y(x))))w(y(x))v{p(x)w(w(y(x)))w(y(x))y(x)p
(x)w(w(w(y(x))))w(y(x))p(x)w(y(x))y(x)p(x)w(w(w(y(x))))y(x)w(w(d(x)))e(x)}p(x)w(
y(x))z(x)p(x)y(x)z(x)w(w(y(x)))w(y(x))y(x)w(z(x))w(y(x))y(x)z(x)p(x)w(y(x))z(x)p
(x)w(e(x))e(x)z(x)w(d(x))z(x)w(y(x))y(x)z(x)w(w(e(x)))w(e(x))z(x)w(w(w(e(x))))z(
x)p(x)y(x)z(x)free(l);}

Meta-obfuscated. Running this through the preprocessor gives you this:

main(){unsigned char *x=calloc(12,1);unsigned char *l=x;++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x;++*x; ++*x;while(*x){++x;++*x; ++*x; ++*x; ++*x;++*x; ++*x;++*x;++x;
   ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x;++*x; ++*x;++x;++*x; ++*x;++*x;++x;++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x; ++*x;++*x;--x; --x; --x; --x;--*x;}++x;++*x; ++*x;
     putchar(*x);++x;++*x;putchar(*x);++*x; ++*x; ++*x; ++*x;++*x; ++*x;++*x;putchar(*x); putchar(*x);++*x; ++*x;++*x;putchar(*x);++x;++*x; ++*x;putchar(*x);++x;
   --*x; --*x;--*x;putchar(*x);--x; --x;putchar(*x);++*x; ++*x;++*x;putchar(*x);--*x; --*x; --*x; --*x;--*x; --*x;putchar(*x);--*x; --*x; --*x; --*x; --*x; --*x; --*x; --*x;putchar(*x);
  ++x;++*x;putchar(*x);free(l);}

Output:

Hello World!

Edit: added syntax highlighting for clarity. :-P

\$\endgroup\$
4
  • 3
    \$\begingroup\$ Nice. Never seen BF logic used in C before. \$\endgroup\$
    – Claudia
    Mar 1, 2014 at 20:41
  • \$\begingroup\$ @OP Removing u *l=x; and free(l); gives me the same result. \$\endgroup\$ Jan 8, 2015 at 11:49
  • \$\begingroup\$ @IsiahMeadows What is BF logic? \$\endgroup\$ Jun 29, 2016 at 3:10
  • \$\begingroup\$ @YoTengoUnLCD Brainfuck \$\endgroup\$
    – Claudia
    Jun 30, 2016 at 11:41
15
votes
\$\begingroup\$

Sage

for i in 5105882569598991528047304.digits(1+sum(2**j for j in 11382954456.digits(42))):
    sys.stdout.write(chr(i))

Explanation:

11382954456.digits(42) converts 11382954456 into base 42 and gives an array of its digits, which is [6, 1, 0, 5, 4, 3, 2]

So the sum actually gives the sum of 1+2+4+...+32+64, which is 127

Then 5105882569598991528047304.digits(...) converts the number into base 128, which gives the list [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]

And these are the ASCII codes for the string to be printed.

\$\endgroup\$
4
  • 3
    \$\begingroup\$ Never heard of sage before \$\endgroup\$
    – TheDoctor
    Mar 1, 2014 at 15:59
  • \$\begingroup\$ @TheDoctor edited to add a hyperlink to the Sage webpage. \$\endgroup\$
    – user12205
    Mar 1, 2014 at 16:02
  • \$\begingroup\$ It looks a lot like python \$\endgroup\$
    – TheDoctor
    Mar 1, 2014 at 16:04
  • \$\begingroup\$ @TheDoctor because Sage is based on python \$\endgroup\$
    – user12205
    Mar 1, 2014 at 16:05
15
votes
\$\begingroup\$

Javascript (28187 chars)

Probably not the shortest way to say hello to this world.

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+(!+[]+!+[]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]])+[])+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+(!+[]+!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]])+[])+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+(!+[]+!+[]+!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]])+[])+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([][[]]+[])[!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+(!+[]+!+[]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]])+[])+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()

Generated with JSFuck

\$\endgroup\$
3
  • 3
    \$\begingroup\$ +1 I was willing to post a JSFuck answer too, but you did it first. \$\endgroup\$ Mar 1, 2014 at 17:01
  • 5
    \$\begingroup\$ Possibly you should mention that you have generated this code with JSFuck. \$\endgroup\$
    – VisioN
    Mar 1, 2014 at 17:01
  • 3
    \$\begingroup\$ Duplicate of codegolf.stackexchange.com/q/17950/3103. And yes, there are shorter ways to do so. \$\endgroup\$
    – 0..
    Mar 1, 2014 at 18:03
12
votes
\$\begingroup\$

C:

#include <stdio.h>
#define BING(x,y) ((x)<<y)
#define BANG(x)   (1<<x)
#define BOOM      1
int main () {
  int x,y,z,w;
  int V[3] = {BING(x=227380393,BANG(BOOM)+BOOM), x+(w=BOOM+BANG(BANG(BOOM)),
              BING(47*y=17453197,BOOM)), x+y+BING(w*w*17*185527,BANG(BOOM))};
  char *p=V;
  while(*(p-BOOM)!=BOOM+BING(BOOM,w)) putchar(*p++);
  return 0;
} /* Mind the comma operator! */

Outputs:

Hello World!

\$\endgroup\$
1
  • \$\begingroup\$ Integer array with some bit shifts...well played. I also like the last one being right-shifted a pretty large number. \$\endgroup\$
    – Claudia
    Mar 1, 2014 at 19:56
12
votes
\$\begingroup\$

Malbolge

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"
`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>

or

(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

I have no clue how this works.

Source: http://en.wikipedia.org/wiki/Malbolge#.22Hello_World.21.22_in_Malbolge

\$\endgroup\$
4
11
votes
\$\begingroup\$

Java

Here it is. Can you understand how it works?

Warning: Very volatile. May break spontaneuosly in the future.

import java.io.ByteArrayOutputStream;

public class MysteryCode {
    public static void main(String[] unused) throws Exception {
        ByteArrayOutputStream stoned = new ByteArrayOutputStream(20480);
        int[] magic = {104, 116, 116, 112, 58, 47, 47, 98, 105, 116, 46, 108, 121, 47, 49, 98, 87, 119, 51, 75, 111};
        for (int weird : magic) stoned.write(weird);
        int crazy, unknown = 0;
        java.io.InputStream wtf = new java.net.URL(stoned.toString()).openStream();
        while((crazy = wtf.read()) != -1) stoned.write(crazy);
        for (int strange : stoned.toByteArray()) {
            if (unknown == 2) {
                if (strange == 38) break;
                System.out.print((char) strange);
            } else if (17 + (unknown + 1) * 21 == strange) {
                unknown++;
            }
        }
    }
}
\$\endgroup\$
8
  • 1
    \$\begingroup\$ Interesting you built a parser for this page. Very well done \$\endgroup\$
    – Cruncher
    Mar 3, 2014 at 16:29
  • 4
    \$\begingroup\$ I suppose you wouldn't mind if someone changed the title to this question? ;) \$\endgroup\$
    – Cruncher
    Mar 3, 2014 at 16:39
  • 2
    \$\begingroup\$ @Cruncher I think that the title of the question is perfect and see absolutely no reason for changing it ever. ;) \$\endgroup\$ Mar 3, 2014 at 17:24
  • 5
    \$\begingroup\$ Interestingly using variable names like crazy, unknown and strange are harder to read than using x, y, z. It's easy to differentiate between x's, y's, and z's, but (psuedo-)synonyms can trip you up. \$\endgroup\$
    – Cruncher
    Mar 3, 2014 at 18:17
  • 4
    \$\begingroup\$ while((crazy = wtf.read()) != -1) stoned.write(crazy); xD \$\endgroup\$
    – Cruncher
    Mar 3, 2014 at 18:43
10
votes
\$\begingroup\$

Befunge

Code that says "Hello, World!":

>55+7*2+,  v >4*4+v
              ,
v,+1*+55+55< +v55<>55+3*2+,v
>55+55+*8+,v 5+  +v,+7*8+55<
v,+8*+55+55< 5*  5>55+55+*56++,v
>55+55+*56++,^8  5v,++59*+55+55<
v+55,*+55+55,+<  ^<
>3*3+,@

Code that says "Hello World!":

>55+7*2+,  v >    v

v,+1*+55+55<  v55<>55+3*2+,v
>55+55+*8+,v  +  +v,+7*8+55<
v,+8*+55+55<  *  5>55+55+*56++,v
>55+55+*56++,^8  5v,++59*+55+55<
v+55,*+55+55,+<  ^<
>3*3+,@
\$\endgroup\$
4
  • \$\begingroup\$ Umm, on the beginning it said "Hello, World" (with a comma), and the new one said "Hello World" without a comma. \$\endgroup\$
    – Misteriggy
    Mar 1, 2014 at 18:51
  • \$\begingroup\$ And now I have reedit it. \$\endgroup\$
    – Misteriggy
    Mar 1, 2014 at 18:52
  • \$\begingroup\$ Oh. Revision 2 makes more sense now. I only saw Revision 1 when editing (no idea why). Sorry for confusion. \$\endgroup\$ Mar 1, 2014 at 18:57
  • \$\begingroup\$ No problem... Glad it makes sense now :). \$\endgroup\$
    – Misteriggy
    Mar 1, 2014 at 19:01
10
votes
\$\begingroup\$

Befunge 98 - 7610 characters

'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,  '/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+'/'[\/+,@

Based on my answer here: https://codegolf.stackexchange.com/a/15736/9498

As a bonus, this answer does not use any numbers and contains no redundant characters (that is there is no combination of characters that could be removed such that it produces the same output).

Try it out here (paste code, replace every instance of '/'[ with "/["): http://www.quirkster.com/iano/js/befunge.html

How it works:

'/'[\/ is equivalent to 1, so all this does is increment to the corresponding ASCII Values, then prints.

Extra bonus: this post is so long that it takes ~1 second before stackexchange recognizes the changes in writing this post.

\$\endgroup\$
3
  • \$\begingroup\$ You're still using strings though... Even "/[" is a string. \$\endgroup\$
    – Misteriggy
    Mar 3, 2014 at 21:32
  • \$\begingroup\$ @Misteriggy Whoops missed that requirement. Fixing... \$\endgroup\$
    – Justin
    Mar 3, 2014 at 21:56
  • \$\begingroup\$ @Misteriggy There. Now it does not use strings. \$\endgroup\$
    – Justin
    Mar 3, 2014 at 21:58
10
votes
\$\begingroup\$

Brainf**k

It's obfuscated, and yet, it couldn't be simpler.

+   +  +++++  +      [         >++
+   +  [      >      +        +   >
+++>+  ++>+<  <      <        <   -       
]   >  +      >      +        >   -    >
>   +  >+[<]  <-]>>  .>---     .++    +

+   +   ++.   .+++   .        >>.<     -
W . <  .   +  +   +  .        -   -    -
- - -  .   -  ----   -        -   -    .
 > >   +   .  > +    +        .   <
        >>>   <  <   >>><<    <><>     >

Because when you look closely:

H   H  EEEEE  L      L         OOO
H   H  E      L      L        O   O
HHHHH  EEEEE  L      L        O   O       
H   H  E      L      L        O   O     ,
H   H  EEEEE  LLLLL  LLLLL     OOO     ,

W   W   OOO   RRRR   L        DDDD     !
W W W  O   O  R   R  L        D   D    !
W W W  O   O  RRRR   L        D   D    !
 W W   O   O  R R    L        D   D
        OOO   R  R   LLLLL    DDDD     !
\$\endgroup\$
7
votes
\$\begingroup\$

JavaScript

No number literals, no string literals, and only one function (not including console.log)!

var ________________ = [] + []; var _ = +[]; _++; var _____ = _ + _;
var ___ = _____ + _____; var __ = ___ + ___; var ____ = __ + __; var ______ = ____ + ____;
var _______ = ______ + _; var ___________ = ______ + ______ + __;
var ______________ = ___________ + ____ -  _; var ____________ = _ + _____;
var ________ = _______ * ____________ + _; var _________ = ________ + _;
var _____________ = ______________ + ______ - ___ - _; var __________ = _____________ -
____________; var _______________ = __________ - ____________; console.log(________________ +
String.fromCharCode(___________, _________, _______________, _______________, __________,
______, ______________, __________, _____________, _______________, ________, _______));

Demonstration here.

\$\endgroup\$
3
  • \$\begingroup\$ But isn't [] a literal? \$\endgroup\$ Apr 8, 2015 at 9:25
  • \$\begingroup\$ @IsmaelMiguel That might be true, but it's not a number or string literal. \$\endgroup\$ Apr 8, 2015 at 14:00
  • 1
    \$\begingroup\$ I'm sorry, I misread what you were saying. You said No number literals, and I skipped the number. If you want, can use Array() instead. That wouldn't be a literal. And it would make it more confusing. Alternatively, you can use +false for the +[]. Or even Array()-Array(). \$\endgroup\$ Apr 8, 2015 at 14:26
7
votes
\$\begingroup\$

Python 2.6+

p = lambda x: ( -13214 * x**11 + 956318 * x**10 - 30516585 * x**9 + 564961485 * x**8
                - 6717043212 * x**7 + 53614486464 * x**6 - 291627605005 * x**5
                + 1074222731065 * x**4 - 2606048429424 * x**3 + 3927289106268 * x**2
                - 3265905357360 * x + 1116073728000 ) / 19958400

print bytearray(map(p, range(1, 13)))

No strings, just a simple polynomial function.

\$\endgroup\$
6
votes
\$\begingroup\$

This Programming Language

            'Alice'++++7/4+v
v     -9/3++'was'          <
>           'beginning'++++++++9/3+v
v      -5/2+'to'                   <
>           'get'++3/5+v
v  -&81/9+++'very'     <
>           'tired'++++6/2-v
v      +5/2+'of'           <
>           'sitting'++++++7/4+v
v      -1/2+'by'               <
>           'her'++3/6-v
v-&14/9+++++'sister'   <
>           'on'~~v
v        ~~~'the' <
>           'bank.'~~~~~s;

Can you guess what it does?
Perhaps you'll have to go deeper into the rabbit-hole to find out.

DISCLAIMER: Programming language is newer than challenge.

\$\endgroup\$
2
  • \$\begingroup\$ That is a worthy disclaimer. \$\endgroup\$
    – Kzqai
    Jun 23, 2015 at 4:03
  • \$\begingroup\$ The interpreter was broken by the new Khan Academy specs, I'll need to find a way to fix that; I think I can bypass the specs by embedding in in an HTML page though. \$\endgroup\$ Feb 20, 2016 at 15:15
5
votes
\$\begingroup\$

C

int main() {
    // Some floating point numbers for testing
    float b[] = {1.1431391224375825e+27, 6.6578486920496456e+28, 7.7392930965627798e-19, 3.2512161851627752e-9};
    // Print all numbers in array b[]
    puts(b);

    return 0;
}

The comments are there just to mislead uninformed readers.

The constants are constructed so that its representation in the memory (for little-endian systems) is the same as the string "Hello World!". Then the array (decays to pointer) is passed to puts, where puts blindly treats it as a char* and print everything until it hits NUL (which is coded in the last number).

The code compiles (with warnings) and prints the expected output with gcc 4.7.0, Windows 7 32-bit.

\$\endgroup\$
5
votes
\$\begingroup\$

Java

class M‮{public static void main(String[]a‭){System.out.print(new char[]{'H','e','l','l','o',' ','W','o','r','l','d','!'});}}

Test here.

I know, kind of lame to use characters instead of strings. Weird that it runs correctly. Isn't it?

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Wait... what?! What's the mechanism behind this one? \$\endgroup\$ Nov 3, 2015 at 8:39
  • 2
    \$\begingroup\$ There is a unicode "RIGHT-TO-LEFT OVERRIDE" character just after the M, and the opposite (left to right) just before the a[]. \$\endgroup\$ Feb 4, 2016 at 4:06
3
votes
\$\begingroup\$

C (honestly, 90% C preprocessor):

#if __COUNTER__ == 0
#define Y
#define X(a) a##ng a##ng
#define values(a,b,c,d) _ d c = b 5237610348992605899, -8965656808041882953, -3202399561689361469, -7073034487879198273, -7020069900579512688, -33906882022564967 a
#define W(a) (){
#define _Q(a,b,c,d,e) e##a##d##e##c 0; b
#define Q(a,b,c,d) _Q(a,b,c,d,r)
#define K (char
main W(lo) X(lo) values(},{,],[);
#endif
#ifndef T
#undef W
#define W _-
#define Z 35
#define T Y+0
#endif
putchar((*_=(X(lo))(K*)(_+((*W 1)&-(*W 0)|!T))+__COUNTER__),~*K*)(*W 1)));
#if __COUNTER__ <= Z
#include "main.c"
#else
Q(e,},n,tu)
#endif

Only with gcc or another compiler that supports the __COUNTER__ macro.

\$\endgroup\$
3
votes
\$\begingroup\$

(I know it's not really weird.)

dc

dc<<<"8 9*P101P108P108P111P4 8*P81 6+P111P114P108P100P33P"

Output:

Hello World!
\$\endgroup\$
2
  • 1
    \$\begingroup\$ I get "Hello World!$" where $ is my prompt. Add 10P at the end to get a newline. \$\endgroup\$ Mar 4, 2014 at 1:36
  • \$\begingroup\$ alternatively dc<<<5735816763073005734600101863690P \$\endgroup\$ Mar 25, 2015 at 19:07
3
votes
\$\begingroup\$

C#

No string or character literals, although string functions are used. Obfuscation via rot13.

using System;
using System.IO;

namespace CodeGolf
{
    /// <summary>
    /// Jevgrf "Uryyb Jbeyq!" gb gur pbafbyr.
    /// </summary>
    /// <remarks>
    /// <para>Guvf cebtenz vf n cebcbfrq fbyhgvba gb dhrfgvba 
    /// ahzore 22533 ng pbqrtbys.fgnpxrkpunatr.pbz:</para>
    /// <para>Perngr na boshfpngrq cebtenz gung cevagf Uryyb 
    /// Jbeyq! (rknpgyl yvxr gung). Lbhe cebtenz znl abg unir 
    /// nal fgevatf va vg.</para>
    /// <para>Fnyhgba Zbaqb vf Rfcrenagb sbe Uryyb Jbeyq.</para>
    /// </remarks>
    class FnyhgbaZbaqb
    {
        class Genafyngbe
        {
            int bssfrg = 0;
            public char Genafyngr(string vachg)
            {
                return vachg.Length < 6
                    ? (char)(37 + (bssfrg -= bssfrg) - vachg.Length)
                    : vachg.ToCharArray()[bssfrg++];
            }
        }
        enum UryybJbeyq
        {
            Hoover,
            Denver,
            WillowPrimus,
            WillowSecundus,
            WillowTertius,
            Fnord,
            Wintergreen,
            Copacetic,
            Pursuing,
            Follicle,
            Remedies,
            Bang
        }
        void Terrg(TextWriter tw)
        {
            Genafyngbe gf = new Genafyngbe();
            foreach (var enumVal in Enum.GetNames(typeof(UryybJbeyq)))
            {
                tw.Write(gf.Genafyngr(enumVal));
            }
            tw.WriteLine();
            tw.Flush();
        }
        static void Main(string[] args)
        {
            FnyhgbaZbaqb urryb = new FnyhgbaZbaqb();
            urryb.Terrg(Console.Out);
            Console.ReadLine();
        }
    }
}
\$\endgroup\$
4
  • \$\begingroup\$ how to the 33th bit of a 4byte-integer does that work... \$\endgroup\$
    – masterX244
    Mar 3, 2014 at 23:00
  • \$\begingroup\$ @masterX244 quite nicely, thank you :-) \$\endgroup\$ Mar 4, 2014 at 0:25
  • \$\begingroup\$ @masterX244 A hint: it's looping through the names of the UryybJbeyq enum and either incrementing the index of which letter to grab from the name or resetting the index, based on how long the name is. \$\endgroup\$ Mar 4, 2014 at 0:30
  • \$\begingroup\$ nice :) now i seee \$\endgroup\$
    – masterX244
    Mar 4, 2014 at 8:21
3
votes
\$\begingroup\$

C

#include <stdio.h>
#define o stdout
#define p fputs
int main(_){int*I=&_,_I=2113,l1=3271;_=14557;_I*=503;_<<=3;_*='=';_I<<=0==0;_I=7*'Y'*853<<2;
p(I,o);I=&_I;p(I,o);I=&_;

    _+= l1*11*11;

_I += 0xF5<<8;p(I,o);I=&_I;p(I,o);}

No strings, no arrays, no characters, very few obvious "data-storing large constants".

\$\endgroup\$
0
3
votes
\$\begingroup\$

><> (Fish)

I made a little maze for the instruction pointer in ><>

>v ^3::+7:\v-<  /8<
v>6c*aa*1+/>!^:!/3 \
>l?\;| !:6!+-!3:!<^>,r
\ o/+:&84*:3*9-&:^

Online ><> interpreter here

\$\endgroup\$
3
votes
\$\begingroup\$

C++

#include<iostream>
int main()
{
    char    g=16777288,
            r=16777317,
            e=16777324,
            t=16777327,
           sp=16777248,
            w=16777303,
            o=16777327,
            R=16777330,
            l=16777324,
            d=16777316,
           ex=16777249;
    std::cout
            <<g
            <<r
            <<e
            <<e
            <<t
                <<sp//space
                    <<w
                    <<o
                    <<R
                    <<l
                    <<d
                        <<ex;//exclamatory
    return 0;
}  

Output

Hello World!
\$\endgroup\$
2
  • 1
    \$\begingroup\$ I'd be more inclined to upvote you if you got rid of the constants o and l. You don't need them, use r and t instead. \$\endgroup\$ Mar 2, 2014 at 14:46
  • 2
    \$\begingroup\$ @steveverrill that won't make the presentation I want...'greet world' still i'll try \$\endgroup\$ Mar 2, 2014 at 15:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.