Take the 2-minute tour ×
Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It's 100% free, no registration required.

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.

share|improve this question
1  
Who is the first to submit BF? :) –  VisioN Mar 1 at 15:34
3  
@VisioN - I would consider BF not really obfuscated... –  TheDoctor Mar 1 at 15:38
3  
dangermouse.net/esoteric/piet/hw1-11.gif is a Hello World program in Piet. More information: dangermouse.net/esoteric/piet.html –  MatrixFrog Mar 1 at 15:47
3  
"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. –  Peter Taylor Mar 1 at 16:29
6  
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. –  impinball Mar 1 at 19:53

34 Answers 34

up vote 49 down vote accepted

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.

share|improve this answer
4  
Nice. Highly readable. –  devnull Mar 2 at 3:55
21  
"more readable version" –  ASKASK Mar 2 at 6:14

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).

share|improve this answer

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".

share|improve this answer
    
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 –  Jeffrey L. Roberts Mar 2 at 23:25
    
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 =] –  Jeffrey L. Roberts Mar 2 at 23:32
1  
This is much better than the Javascript answer, which has /H/ and /W/ in it. –  durron597 Mar 4 at 16:09

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.

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

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);
}
share|improve this answer
    
You cannot have STRINGS ! –  Mukul Kumar Mar 2 at 5:50
14  
I don't think he used string. He is just type-casting it. –  microbian Mar 2 at 8:51
1  
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. –  Zack Mar 3 at 17:45

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
share|improve this answer
2  
For extra points, combine this with a non-whitespace one as well. –  zebediah49 Mar 3 at 17:39

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.
share|improve this answer
10  
+1 for a nice explanation. This is unusual for golfscript answers for some reason. –  DigitalTrauma Mar 2 at 15:05
    
@DigitalTrauma I'm pretty sure there's a good reason –  qwr Mar 3 at 1:20
2  
This is the first time that I see a long GolfScript answer for a normally trivially solved problem. –  Victor Mar 3 at 17:34

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.

share|improve this answer
    
There seem to be some limitation on SO rendering: I said that last line could begin by ${__[${____}]}${__[${__________}]}${__[${_______}]}${__[${___}${____}]} -${__[${____}]} (echo -e) and replace ! by \\${_________}${____}${___} –  F. Hauri Mar 2 at 10:05
    
or worst: \\${_________}$[${______}${____}#${_____[${___________}+${__________}]}] make an exclamation point too;-) –  F. Hauri Mar 2 at 10:12
    
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?). –  devnull Mar 2 at 17:14
    
@devnull 2) is easy to fix - just run the : command to clear any previous error conditions reported in $?. –  DigitalTrauma Mar 2 at 18:16
3  
@devnull Sorry, no prizes, other than a smug sense of self satisfaction ;-) –  DigitalTrauma Mar 2 at 18:26

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!

share|improve this answer
1  
FromCharacterCode breaks all intrigue... –  VisioN Mar 2 at 9:31
1  
VisionN, FromCharacterCode is now obfuscated. So is CoefficientList. –  David Carraher Mar 2 at 14:04

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.

share|improve this answer
3  
Never heard of sage before –  TheDoctor Mar 1 at 15:59
    
@TheDoctor edited to add a hyperlink to the Sage webpage. –  ace Mar 1 at 16:02
    
It looks a lot like python –  TheDoctor Mar 1 at 16:04
    
@TheDoctor because Sage is based on python –  ace Mar 1 at 16:05

Javascript (28187 chars)

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

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

Generated with JSFuck

share|improve this answer
3  
+1 I was willing to post a JSFuck answer too, but you did it first. –  Victor Mar 1 at 17:01
4  
Possibly you should mention that you have generated this code with JSFuck. –  VisioN Mar 1 at 17:01
3  
Duplicate of codegolf.stackexchange.com/q/17950/3103. And yes, there are shorter ways to do so. –  xfix Mar 1 at 18:03

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!

share|improve this answer
    
Integer array with some bit shifts...well played. I also like the last one being right-shifted a pretty large number. –  impinball Mar 1 at 19:56

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+,@
share|improve this answer
    
Umm, on the beginning it said "Hello, World" (with a comma), and the new one said "Hello World" without a comma. –  Misteriggy Mar 1 at 18:51
    
And now I have reedit it. –  Misteriggy Mar 1 at 18:52
    
Oh. Revision 2 makes more sense now. I only saw Revision 1 when editing (no idea why). Sorry for confusion. –  Jan Dvorak Mar 1 at 18:57
    
No problem... Glad it makes sense now :). –  Misteriggy Mar 1 at 19:01

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

share|improve this answer
1  
Nice. Never seen BF logic used in C before. –  impinball Mar 1 at 20:41

Befunge 98 - 7610 characters

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

Based on my answer here: http://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.

share|improve this answer
    
You're still using strings though... Even "/[" is a string. –  Misteriggy Mar 3 at 21:32
    
@Misteriggy Whoops missed that requirement. Fixing... –  Quincunx Mar 3 at 21:56
    
@Misteriggy There. Now it does not use strings. –  Quincunx Mar 3 at 21:58

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.

>>+++[<+++>-]<+[>+++>>+++[<+++>-]<+[<]>-]<+++[>+++<-]>+[>++++<-]>++.>+.>+++
[<++>-]<+..+++.<<<+++[>+++<-]>+[>----<-]>.>[>+>+<<-]++++[>++<-]>.>.+++.>++[
<--->-]<.>++[<---->-]<.<<<+.
share|improve this answer
2  
+1 for saying anything Brainfuck might not count as obfuscated. –  ckuhn203 Apr 30 at 13:29

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

share|improve this answer
6  
I'm pretty sure that the entire point of Malbolge was that nobody had a clue how it worked. –  Edmund Schweppe Mar 3 at 19:42
    
@EdmundSchweppe Yeah, but not everyone knows that. –  The Guy with The Hat Mar 3 at 19:43
    
You beat me to this one (+1). –  arshajii Mar 4 at 1:10
1  
And yet someone, somehow, completed the 99 Bottles challenge using Malbolge: 99-bottles-of-beer.net/language-malbolge-995.html In fact, someone else did it as well: 99-bottles-of-beer.net/language-malbolge-375.html –  KBKarma Mar 5 at 17:57
    
+1 for "I have no clue how this works." :D –  MadTux Jun 10 at 9:52

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++;
            }
        }
    }
}
share|improve this answer
1  
Interesting you built a parser for this page. Very well done –  Cruncher Mar 3 at 16:29
4  
I suppose you wouldn't mind if someone changed the title to this question? ;) –  Cruncher Mar 3 at 16:39
2  
@Cruncher I think that the title of the question is perfect and see absolutely no reason for changing it ever. ;) –  Victor Mar 3 at 17:24
3  
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. –  Cruncher Mar 3 at 18:17
3  
while((crazy = wtf.read()) != -1) stoned.write(crazy); xD –  Cruncher Mar 3 at 18:43

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

(I know it's not really weird.)

dc

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

Output:

Hello World!
share|improve this answer
1  
I get "Hello World!$" where $ is my prompt. Add 10P at the end to get a newline. –  Glenn Randers-Pehrson Mar 4 at 1:36

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();
        }
    }
}
share|improve this answer
    
how to the 33th bit of a 4byte-integer does that work... –  masterX244 Mar 3 at 23:00
    
@masterX244 quite nicely, thank you :-) –  Edmund Schweppe Mar 4 at 0:25
    
@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. –  Edmund Schweppe Mar 4 at 0:30
    
nice :) now i seee –  masterX244 Mar 4 at 8:21

bash

#!/bin/bash

varval () { 
    local _i _func='{ local _lt=({0..9} {a..z} {A..Z} @ _) _var _out;
                    printf -v _var %022o $1 ;_out="';
    for ((_i=0; _i<22; _i+=2)) ;do
        printf -v _func '%s${_lt[8#${_var:%d:2}]}' "$_func" $_i;
    done;
    _func+='";printf ${2:+-v} $2 %s ${_out##*(0)}; }';
    eval "${FUNCNAME}()" $_func;
    $FUNCNAME $@
}
varval ${?}7230332515 x
varval ${!}725177688  y
printf -v z %b \\0$[64#F]
echo $y $x$z

There is no strings, except function builder! This print exactly:

Hello World!

And I will let you understand how ;-)

share|improve this answer
    
I see quite a few strings in that, although I'm not sure how you'd avoid that in bash. –  fluffy Mar 1 at 19:05
    
I'm pretty sure a great deal is in the abuse of printf's parameter parsing. –  impinball Mar 1 at 19:59
    
@fluffy strings are suppressed. The only string left is function builder... This could be replaced by evaled function but become less funny. –  F. Hauri Mar 1 at 20:33
    
@impinball under bash, printf is a builtin. This open ways to very powerfull behaviours! –  F. Hauri Mar 1 at 20:35
    
@F.Hauri I know (I've used it before). –  impinball Mar 1 at 20:40

Bash (sed)

#!/bin/bash
# Good Night, Moon! -> Hello World!
echo | sed -e  's/$/G/; s/$/o/; s/$/o/; s/$/d/; s/$/ /'\
   -e 's/$/N/; s/$/i/; s/$/g/; s/$/h/; s/$/t/; s/$/,/'\
   -e 's/$/ /; s/$/M/; s/$/o/; s/$/o/; s/$/n/; s/$/!/'\
   -e 's/o/\\/g; s/G/e/; s/N/W/; s/ /5/; s/[ g-itM,]//g'\
   -e 's/\\/l/; s/\\/l/; s/d/o/; s/^/H/; s/n/l/; s/\\/o/'\
   -e 's/\\/r/; s/[1-9]/ /; s/!/d/; s/$/!/'

Contains only single character strings. Input: none. Output: Hello World!

share|improve this answer
    
I probably should have revised my previous post instead of deleting and replacing. Sorry if that's an issue. –  Glenn Randers-Pehrson Mar 1 at 20:48

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.

share|improve this answer

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!

share|improve this answer
1  
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. –  steveverrill Mar 2 at 14:46
1  
@steveverrill that won't make the presentation I want...'greet world' still i'll try –  Mukul Kumar Mar 2 at 15:08

PowerShell

Paste it as it is (4 separate lines) and run in PowerShell, you'll see "Hello World!" as output.

I leave it on you to de-obfuscate it.

$arr = @()
$arr += 104;$arr += 116;$arr += 116;$arr += 112;;$arr += 58;$arr += 47;$arr += 47;$arr += 116;$arr += 105;$arr += 110;$arr += 121;$arr += 117;$arr += 114;$arr += 108;$arr += 46;$arr += 99;$arr += 111;$arr += 109;$arr += 47;$arr += 50;$arr += 52;$arr += 56;$arr += 99;$arr += 57
$u = [char[]]$arr -join [string]$null
(iwr $u).ParsedHtml.title.substring(0, 12)

Outputs

Hello World!
share|improve this answer

Python 2

print reduce(lambda _,__:_+chr(__+32+((__+30)>>5)*34),map(lambda _:0x24f8e8f7141b0/22**_%22,xrange(12)),str()).title()

Meh.

share|improve this answer

JavaScript (ES6)

Short version:

[72,101,108,108,111,32,87,111,114,108,100,33]
.map(i => String.fromCharCode(i))
.reduce((i,j) => i+j)

Long version:

[1089,11089,22753,35749,48070,55639,56663,68984,80648,92312,102513,107697]
.reverse()
.map((i,j,k) => i-(++j==k.length ? 0 : k[j]))
.reverse()
.map(i => Math.sqrt(i))
.reverse()
.map(i => String.fromCharCode(i))
.reduce((i,j) => i+j)

If anyone is interested, the array is obtained using

"Hello World!"
.split('')
.map(i => String.charCodeAt(i,0))
.reverse()
.map(i => i*i)
.map((i,j,k) => k.slice(0,j+1)
.reduce((i,j) => i+j,0))
share|improve this answer

protected by Community Mar 2 at 4:06

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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