Produce an unexpected word

42

11

The goal is to write program that will produce a word unexpectedly (program doesn't look like it is going to produce a word).

Example (JavaScript):

alert(([0][1]+"").slice(4,8))

alerts "fine" - jsfiddle.

Explanations:

1. [0][1] returns undefined, because there only one element in array [0]
2. Adding empty string converts undefined to string "undefined"
3. slice(4,8) outputs fifth to eight characters of undefined


This is underhanded popularity contest.

nicael

Posted 2014-05-31T16:00:49.733

Reputation: 4 585

Question was closed 2016-04-15T03:59:18.270

1

I'm closing this question because, by community consensus, underhanded challenges are no longer welcome on the site.

– Alex A. – 2016-04-15T03:59:18.270

3I don't think this challenge is objectively measurable. How "unexpected" is "unexpected enough"? – Martin Ender – 2014-05-31T16:28:19.980

1I think this is more or less a dupe of the "Print an unexpected obscenity" question which has now been deleted so I can't find the link. That one was also an [tag:underhanded] about unexpectedly printing a word, with the constraint that it had to be an insult – None – 2014-05-31T17:32:17.457

Answers

100

Python2.x

import re
try: re.compile("[")
except re.error, e: print e.message.split()[0]

try it

gnibbler

Posted 2014-05-31T16:00:49.733

Reputation: 14 170

59That was certainly unexpected. – primo – 2014-06-03T02:10:13.987

97

CJam

"​​‌‌​​​‌‌‌‌​​‌‌​​‌‌​‌‌‌‌​​​​‌​​​‌​‌‌‌​​​‌​​​​‌​​​‌‌​‌​​‌‌​​‌‌‌‌‌​‌​​​​​‌‌‌​​​‌‌​​​‌‌​‌‌‌‌‌‌​‌​‌‌‌​‌​‌​‌​‌‌​‌​‌‌​‌​​‌​​​‌​‌​‌‌​​​​‌​‌​‌‌​​​​‌​​‌‌​​‌​‌‌​​​​‌​​‌‌‌​​​​​‌‌‌​​‌​‌​‌​‌​​‌‌‌‌​‌‌​​​​​​‌‌​‌​​​​‌​‌‌​​‌​​‌​‌​‌‌‌‌​​‌​‌‌​‌​‌​​​‌‌‌​‌​​​‌‌​​‌‌​​‌​‌‌​‌​​‌​​‌​‌‌‌​​‌‌​​‌‌​‌​‌‌​‌‌‌​​​‌​​​​‌​‌​​‌​​​​​​‌​‌‌​​‌‌​‌​​​‌​​‌​‌":iXf&YbBB*b:c

Prints Pneumonoultramicroscopicsilicovolcanoconiosis.

Try it online. (Permalink works in Chrome. You have to copy and paste the code in some browsers.)

To understand how it works, click here to run this:

"​‎‏‌‎‌​​‎‍‌‍‌‏​‌‏‌​‏‌‏‍​‎‏‌‍​‏‏​‎‌‏‏​‍‍‏‏‏‎‍‎‏‌‌‎‍‎‏‏​‍‍‍‌‌‎‎‌‏​‎‏‏​‏‏‍‏‏‍​‌‍‌‏‏‎‍‏​‌‎‌‍‏‏‌‏​​‌​‍‏‌‍​‌‍​​‌‌‌‏​‎​​​‌‍​‏​‎‏​​​‎​‎‎‌​‏​​​‌‍‌‏‍‏‌​‌‎‏​​‌‏‎‎‎‎‌​‎​‏‏​‏‏‍‏‌​‍​‏‏​​‍‎‌‏‌‎‏‍‍‌‍‎‍‌​‍‌‎‏​‌‎‌‌‍‏‍‌​‌‍​‍‍​‏‌‏​‎‏‍​‎‎‎‍‍‌‌‏​‏​​‏‎‍‏‎‍‏​‎‏‏‍​‌‍‌​​​‍‌‌‎‎‍​‏‎‍‏‏‍‍​‍‍‌‌‏‏‍‏‌​‌‌​​‌‌​‌‍‍‎​‎‎‎‍​‌‎‌‏​‍‎​​‏​​‍‎​‏‌‍‍‎‌‌‏‏‌​‎‍‎‏‍‏‏‍‏‌‏‍‍‏‍‍‏‎‍​‎‌‏‎‍​​‎‎​‎‏‍‍‌‎‍‍‏‏‌‏‎‏​‎‍‍‍‎‍‌‎‎‌​‍‏​‌‏‏‍‎‎‏‏​‌‌‎‍‌‍‎‏‎‎‎‍‎‏‏‏‌‌‍‏‎‍‍‏‍‍​​‍‎‍‌‌‎‌‎‏‏‏‌​‎​‍‏‎‏‎‌‌‍‏‎‎‌‍​‎‏‍‍​‍‏‏‏‏‏‌‍‎‌​​​‍‏‏​‌​‎‌‏‌‎‎‍‎‍‎‏‌​‏‏‌​‏‎‍‍‏‌‎‍​‌‎‎‌​‍​‎‎‎‎‌‌‎​‎​​‏‌‍‍‌‎‍‍‏‎‎‏‍‎​‌‎‎‍‎‍​‎‎‏‎‌​‌‎‏‌‏‍‍‍‌‎‌‏‍​‍‍‍‍‍‌‌‎‍‏‎‎​​‎‎‎​‎​‏‍​​‏‎​​‍‌‌‍‌‍‎‍‍‏‏‏‎‌‏‍‏‎‎‌‍‌​‏‎‏‎‎‏‏‍‍‏‌‌‎‍‎‎‎‍‎‌​​‌‏‎‌​‏‍‍‍‌‍‏‌‌‍‌‌‎‍‌‏‍‎‍‌‏​‎‏‌​‎​‎‌‎​‌‍‌‏‎‌‌‌‌‎‍​‏​‌‌‎‌‌‏‍‎​‏‎‎‌‎‌‌‍‎‎‎‎‏‍‏‌‎‌‏‍‎​‏‍‍​​‍‎‏​‎‏​‏‎‌‍‍‏‍​‎‎‌‏‏‍‌‏‎‍‏‍‍‌‍​​‌‎‏‍‍‍​‏​‍​‏‏​‏‏‍‌‌‌‏‏‍‌‎‌‍‎‎‏​‏​‎‍‏‏‎‍​​‏​‏‎‏‌‌​​‏‍‍‍​‎​‏‌‎‍‌‏‌‏‎​‌‍‎​​‎‎​‏‌‌​‌​‏​‌​‎​‏​‎‏‌‎​‏​​​‍‌‏‏‏‌​‍‍‏​‍‌​​‎‏‍​‏‌​‏‍‌‏‏‏​‏‏‎​​​‌‎​‌​‏‎‌​‍‍‎​‏‎​‎‏‌‌‎‍‏‎‌​‎‏‌​‎‏‏‍‎‏​‌‍​‍​‍‎‎‌‎‎​‏​​‌‍‎‍‌‌‌​​‎‌‎‎‍​‏​‍‍‍​​​​‍‏‌​​​‍‎‌‌‌‍​‌‌‍‌‌‌‎‏‌‍‏‌‌‎‎‎‍‏‎​‍‌‍‏‍​‌‍‎‌‏‍‎​‎‏‎‍‎‏‎​​‏‍​‏‎​‎‏‍​​‏‎‍​‏‍‌‏‍‍‍‏‏‍‏‎​‎‌‏​‏‏‎‌‏​‍‏‎‎‌‌‏‏‍‎‏​‎‌​‌‌‎‌​‍‍​​‎‌​‍​​‏‍‎‏‎‌‍‍​‍‍‌‎​‌‏‏​​‏‌‏‍​‌‍‏‍‎‍​​‏​‏​‏‏‏‎​‎‌‏‏‍​‏‍‏‍‌‎‍‌‏‎‏‏‏‎‌‌​‏‌‍‏‌‌​‏‎‏‍​‌‏‏​‎‍‏‍‌‎‍‎‌‌‏‏‍‍‏‍‎‌‏‎‍‎‏‍‏‍‌​‌‏​‌‏‎‎‌‎‎‌‍‍‌‏‌‌‌‏‍‏‌‍‌​‏‍​‍‌​​‏‏​‌​‏‍‎‏‏‏‍‎‍‌‍‌‍‍‍‏‎‎‏‏‏‏​‌‏​‎​‏​‌‎‏‏‎‏​‍​​‍​​‍‌‏‍‏‌​​‎‍‏‌‏‏‍‏‎‌‎‍‏‍‎‍​‍‌‏‍‍‎‌‏‌​‎‎‍‎‏‎​‍​‍‍‏‏‎‍‏‎‌​‍‍‏‎​‍​‍‏‎‎‎‏‍​‏‌‌‌​‏‎‌​‎‌‍​‎‍‌‏‏‎‎​‏‌‌‍‏‏‎​‍‌​​‎‍‏‎‌‏‎‏‌‌‌​‍‍‌‍‏​‌‎‌​‏‌​​‎‍‏‌‍​‍‎​​‎​​​‌​​​​‎‎​‌‎‎‎​‎‍‏‍‍‎‏‌‌‌‍‎​​‏‎‎‍‍‍‍‏‎‌‍​​​‍‍‍‎​‎‏‌‎‏​‍‌‍‍‍‏‌​‌‌​‎​‏​‍​‍‏‏‎‎‍‎‍‌​‏‎‌​‏‏​‎​‌‎​​​​‎‏‍‌​​‎​‌‎​‏‌‌‍‍‌‎‎​‎‎‍‌​‎‍​​‍‎‍‎‌‌‍‌‌‌‌‌‏‎‏​‌‎‏‎‌‏‌‏‍‍‎‌‌‎‎‌‍​‌​​‏‍‌‎‏‍​‎‍‍‍‎‍‌‎‎​‌​‏‎‏‏‏‏‏‎‎‍‌​‏‍‎‏‎‏‍‎‌‌‌‍‌​‎‌​‌‏‎‎‎​‌​‌‎‏‏‏‌‎‌‍​‌‏‏‏‎‎‍‏‏‎‍‎‌‎‏‌‎‎‍​‌‌‌‍‏‍‏​‍‎​‍‎​‏‌‍‏​‌‍‎‏‎‎‏‌‎‌‏​‎​‍‌‍‌‎‏​‌‍‌​‏‎​​‏‏‎​​​​‍​‎‍​‏‌​‍‌‌‌​‏‏‏‏‍‍‎‍‌‌‌‍‎‎‍‏​‎‍‏‌‍‎‏‏‍‍​​‌‎​‎‌​‎‏‍‌‌‏‌‏‏‍‍​‌‎‎‏‌‍‎​‌‏‍‍‎‌‌‏‎‍​‎​‎‌‎‏​​‍​‎‌‍‍‍‏‏‌‌‏‌‌​​‍‏‌‍​‏‌‍‏‎​‏‏‏‌‍‏‌‌‎‏‍​‎​‏​‏‎‌‏‏​‌‏​‍‏‍​‎‎​‌​‎‎‎‌​‍​‍​‌‎‌‌​‍​​‏‎‏‏‎‏‏​‎‎‌‍‏‏​​​‍‌‍​‎‏‏‏‏​‏‎‏‏‌​‌‎‎​​‎‎‏​​‏‍‎‎‎‏‌‎‍‎‎‌​‌‌‌‎‌‍‎‎‍‌‍‍‌‌​‎‏‌‏‌‎​‌‎‍‍​‏‎​‏‌​​‎‎​‌​‌‌‌‏‍‍‏‎‌‏‏‏‎‎‎‍‌​‏​​‏‌‎‌‎‏‌‍‍‎‍‌‍‍‍​‍​‎‍‌‌​‍‍‏‌‌‍‏‏‍‏​‎‎‍‍‎‎‍‏​‍‎‌​‍‌‎‏‍​‏‌‍‍‎‏​​‏​‍‌​‍‍‎‏‍‎‍​​‎‌‍‎‎​‏‍‌​‌‏‏‎‌‏​‎‏‏​‎​‌‌‍‍‍‏​‌​​‌‎‍‏‎‍‌‌‏‌‌‎‌‌‍‏‍‍‏​‌‌‎‏‌‍‌‎‌‍‎​​‎​‎‍‏‌‌​​‏‎​​‏‍‏‍‏‏​‎‍‎‏‏‌​‌​‍‌‌‏‎​‎‍‍​​​​‏‍‏‏‍‍":i5f%5b5I*b' f+~

I still don't get it!

  • The first code block is actually 970 bytes long, since there are 318 zero-width characters (U+200B and 0+200C) between the two double quotes. Even with a monospaced font, these characters are completely invisible.

  • X, Y and B are variables initialized to 1, 2 and 11.

  • :iXf& casts each character to an integer (8203 or 8204) and computes the parity. This way, U+200B becomes 1 and U+200C becomes 0.

  • Yb converts the array of integers from above to an integer by considering it a base 2 number.

  • BB*b converts that integer into an array of its digits as a base 121 number.

  • The sad smiley :c casts each digit to its corresponding ASCII character.

  • The second code block is actually 6543 bytes long. It follows the same idea, but it uses the characters U+200B to U+200F, base 5 numbers and string evaluation.

Dennis

Posted 2014-05-31T16:00:49.733

Reputation: 196 637

14Oh, you sneaky rascal :) – aditsu quit because SE is EVIL – 2014-06-07T09:15:32.300

2Very very tricky. +1 – qwr – 2014-06-12T19:50:08.927

40

Python

I don't expect any upvote (but pwease don't downvote this either - unless the net votes are above 0!), because of course I claim NO MERIT WHATSOEVER on this answer, but in my opinion, the award would go hands down to Tim Peters for this Python code...

import this

(If you've never heard about it, try it here :) )

Roberto

Posted 2014-05-31T16:00:49.733

Reputation: 761

2Em... Explain, please. )) – nicael – 2014-06-09T05:34:53.607

7@nicael this is "The Zen of Python", or PEP20 - it's a series of affirmations about how Python scripts should be implemented, and it has been hard-coded into Python as module this... as an easter egg, if you wish :) – Roberto – 2014-06-09T11:58:16.683

30

Ok - here'we go:

Javascript:

new Function("‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‌‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍".split("‌").map(function(v){return String.fromCharCode(v.length)}).join(''))();

Evaluate it in your console...

It can't be that easy. Try to find it yourself.

Дамян Станчев

Posted 2014-05-31T16:00:49.733

Reputation: 457

1Certainly +1. Explain please! )) – nicael – 2014-06-12T13:33:02.150

1

I found it! https://whiskers75.co.uk/assets/OHMYGODWHATTHE.png

– whiskers75 – 2014-06-14T14:10:24.223

3

+1 For those wondering how this works, paste the code into this tool: http://mothereff.in/js-escapes

– Mathias Bynens – 2014-06-15T09:09:09.030

1You can shorten this by replacing new Function(...)(); with eval(...); – Spedwards – 2014-06-18T12:08:00.157

2Yes, but this is not a code golf and I think new Function(...)(); looks way more confusing as it is hiding the eval :) – Дамян Станчев – 2014-06-18T13:01:08.640

This kills my shell. http://i.imgur.com/i7ElDry.png

– Eric Lagergren – 2014-06-22T01:50:06.893

27

C - ioccc feeling

#define\
    __(a,b) b##a
    __(in(O){,ma)
    __(at*f=&O;,flo)
    #define\
    _ __(ntf("%f",*f);,pri)
    __(ng,lo)__(ng $;O=, lo)
        __(NE__;$=,__LI)
        O*4*2699*14449
        *__(1ll,1765069);O=~--O;_-_-
        _-_-_-_-_-_-__(ts(&$);},pu)

output (using gcc 4.7.2):

-nan-nan-nan-nan-nan-nan-nan-nan BATMAN

C - WinApi

leave it to the professionals

#include <Windows.h>

CONST CCHAR *ParseStringOutputHandler(HANDLE hOut)
{
    /*
    * Prototype for SEH support function.
    */
    CONSOLE_SCREEN_BUFFER_INFO SBInfo;
    COORD crdSBInfoCoord;
    COORD crdMaxWinSize;
    COORD crdSize;
    WORD wMagicNum = 0x40;
    WORD wAttr = 0x14;
    INT8 i;
    static CCHAR szParseArray[9];
    /*
    *       This file contains the definitions and prototypes for the compiler-
    *       dependent intrinsics, support functions and keywords which implement
    *       the structured exception handling extensions.
    */
    crdSBInfoCoord.X = _WIN32_WINNT_NT4 >> 8;
    crdSBInfoCoord.Y = SUBVERSION_MASK / 28;
    crdMaxWinSize.X = EXCEPTION_EXECUTE_HANDLER | 0x2;
    crdMaxWinSize.Y = (_WIN32_IE>>010) + 3;
    crdSize.X = _WIN32_IE_IE20 >> 0x8;
    crdSize.Y = 0x15;
    SBInfo.dwCursorPosition = crdSBInfoCoord;
    SBInfo.dwMaximumWindowSize = crdMaxWinSize;
    SBInfo.dwSize = crdSize;
    SBInfo.wAttributes = wAttr;
    /*
    * Currently, all MS C compilers for Win32 platforms default to 8 byte
    * alignment.
    */
    for (i = 1; i <= 8; ++i){
        switch (i){
        case STRICT:         szParseArray[i-1] = SBInfo.dwCursorPosition.X;     break;
        case DM_COPY:        szParseArray[i-1] = SBInfo.dwCursorPosition.Y;     break;
        case DC_PAPERSIZE:   szParseArray[i-1] = SBInfo.dwMaximumWindowSize.X;  break;
        case _CRT_PACKING/2: szParseArray[i-1] = SBInfo.dwMaximumWindowSize.Y;  break;
        case 0x5:            szParseArray[i-1] = SBInfo.dwSize.X;               break;
        case DC_BINS:        szParseArray[i-1] = SBInfo.dwSize.Y;               break;
        case (_WIN32_WINNT>>8)|(_WIN32_WINNT&1):
        case 010:            szParseArray[i-1] = SBInfo.wAttributes;
        }
        szParseArray[i-1] |= wMagicNum;
        if (i > 7){
            szParseArray[sizeof(szParseArray)-1] |= wMagicNum;
        }
    }
    szParseArray[8] = NULL; // set WINVER based on _WIN32_WINNT
    return szParseArray;
}

output:

DICKBUTT

bebe

Posted 2014-05-31T16:00:49.733

Reputation: 3 916

2i feel offended :'( – Ray – 2014-06-18T19:51:10.147

22

CJam

This is my first practice with CJam:

77c79c_78c7(8+6*3+c"K"["MICHAEL" "JACKSON"]:Ls4=Ls6=@'R'E\

I'm sure I could do it better with more practice but it was fun.

It prints out

MOONWALKER

You can check it out here.

Averroes

Posted 2014-05-31T16:00:49.733

Reputation: 3 771

Yep. Good answer. – nicael – 2014-06-12T11:13:26.127

19

C

Works only on a little-endian machine

How to make a simple multiplication ?

int main(void) {
    //this is an easy multiplication example
    int a = 37897 * 210;

    //print the result
    printf("%s",&a);
    return 0;
}

outputs boy

37897*210 = 7958370 (0x796f62)
boy ASCII representation is 62-6f-79 (0x796f62 on little-endian)
printf with %s print the string, not the integer.

>> Try it here

Michael M.

Posted 2014-05-31T16:00:49.733

Reputation: 12 173

6try it with uint64_t a = 30980630101 << 4 – chbaker0 – 2014-06-08T01:47:06.503

@mebob The pen is mightier. – primo – 2014-06-14T04:50:51.743

18

Javascript

Round 2:

Improved Solution:

try{Joe}catch(е){alert(е.message.replace(/de?/g,''))}

53 characters

Old Solution: Prints the same but in more short char length:

try{Joe}catch(е){console.log(е.message.replace(/de|d/g,''))}

60 characters

Round 1:

I am going to Joe's place, he is sick, even computer says that:

try {
    x = Joe;
} catch (err) {
    msg = err.message.split(" ");
    console.log(msg[0] + " " + msg[1] + " " + msg[2] + " " + msg[3].substring(2, 6));
}

162 characters.

try{x=Joe}catch(e){m=e.message.split(" ");console.log(m[0]+" "+m[1]+" "+m[2]+" "+m[3].substring(2,6))};

103 characters.

"Joe is not fine"

Mohammad Areeb Siddiqui

Posted 2014-05-31T16:00:49.733

Reputation: 509

2Ahahahahaha: ReferenceError: Joe is not de_fine_d -> Joe is not fine – whiskers75 – 2014-06-14T14:16:01.233

Here's a shorter version (60 chars): try{Joe}catch(е){console.log(е.message.replace(/de|d/g,''))} – Дамян Станчев – 2014-06-17T08:49:19.603

@ДамянСтанчев can I use that as my answer please? :P – Mohammad Areeb Siddiqui – 2014-06-17T10:35:33.927

Sure, not a problem :) – Дамян Станчев – 2014-06-17T10:43:01.090

If you're going for brevity: try{Joe}catch(е){alert(е.message.replace(/de?/g,''))} – Dennis – 2014-08-31T17:17:35.790

11I am fine, thank you very much! – Joe – 2014-10-02T15:21:20.687

@Joe , I'm glad you are fine. :) – Mohammad Areeb Siddiqui – 2014-10-03T12:26:01.487

14

dc

dc can be used with pretty obscure expressions. Here is an example, nearly asking you a question! (second line):

dc -e '[<!][P[ ]P]sr[|]30 4+[p]5[ ]500d+300dZ73 16d6-r[PnPnPnPP]sa[sz-=r2;h*7+++[know ]lax]sb
    vv:ha7 d0 [you] sp[eak?]                                                             lbx'

Output: I know 1337 5p34|<!

Edit: splitting original answer into three different ones (bash and haskell proposals in separate posts)

Qeole

Posted 2014-05-31T16:00:49.733

Reputation: 641

You can split this into multiple answers if you'd like. – Timtech – 2014-06-09T13:09:27.183

3You should split these into multiple answers, that way people can vote on each individually. – arshajii – 2014-06-09T18:19:16.877

Ok, I have split my original post. Thanks for advice! – Qeole – 2014-06-10T18:28:18.423

14

C, C++

Here's an oldie that could easily be adapted to other programming languages:

#include <stdio.h>

int main() {
    int i = 0x6F56DF77;
    printf("%8X", (i << 1) + 1);
}

The trick is using the numbers >9 in hexadecimal (or higher) number systems. This one print's DEADBEEF, but there can be many variations. AFAIK Mac OS used to mark released memory in certain debug builds as dead beef.

Try it!

Aschratt

Posted 2014-05-31T16:00:49.733

Reputation: 699

void main is a old standard for DOS, I think (got a book about Turbo C++...). – Mega Man – 2016-08-08T19:09:06.903

2You should avoid void main, some compilers such as clang error on it. int main without actually returning won't cause an error, though. – nyuszika7h – 2014-06-14T14:44:19.680

1void main to hell. – tomsmeding – 2014-06-18T15:44:07.087

13

Common Lisp

No attempts to hide how this one works.

(let ((*print-base* 36))
  (print #x1A92721254086478787CE5D7))

SPANISHINQUISITION

Joshua Taylor

Posted 2014-05-31T16:00:49.733

Reputation: 660

19+1. Did not expect. – mniip – 2014-06-17T13:43:43.160

11@mniip Nobody does... – simon – 2014-06-18T03:18:47.873

12

sed

Of course with sed one is waiting for a string output. But if you do not already know this one, I think it can be considered as… unexpected:

sed 's/ //g;s/h.*yo//;s/od.*//;y/euHodityn,/ -aegmoptt/;s/ //;e'
    <<< 'Hey, have you done it today?'

I can't write the answer correctly in a “spoiler” block, so you'll have to try it yourself :)

(Hint: works best on Debian/Ubuntu. Don't loose your time on Mac.)

Edit: I discovered that I could use code in spoiler blocks, so output is now hidden below.

         (__)
         (oo)
   /------/
  / |    ||
 *  /---/\
    ~~   ~~
...."Have you mooed today?"... 

Qeole

Posted 2014-05-31T16:00:49.733

Reputation: 641

1sh: apt-get: command not found Were you trying to install something on my computer? – undergroundmonorail – 2014-06-11T03:10:49.937

4

@undergroundmonorail: http://unix.stackexchange.com/questions/92185/whats-the-story-behind-super-cow-powers

– n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ – 2014-06-11T10:25:40.713

8Don't loose your time on Mac. Or on the dozens of (debatably superior) non-Debian based OSes... – Kyle Kanos – 2014-06-12T02:25:00.107

10

CJam

PT/

Try it at http://cjam.aditsu.net/

Also, for fun:

"HAL":)

aditsu quit because SE is EVIL

Posted 2014-05-31T16:00:49.733

Reputation: 22 326

8

PowerShell

Can it be multiple words? If so, allow this to blow your freakin' mind.

function recurse() {
    $r = 72,29,7,0,3,-79,87,-8,3,-6,-8  
    $s = ""
    $t = {
        $a,$b = $r
        $d+=$args[0]+$a
        $s+=[char]$d
        if ($b -ne $null) {
            return recurse $d $b $s
        }
        return $s
    }
    function recurse() {
        $r = $args[1]
        $s = $args[2]
        . $t
    }
    . $t
}
recurse 0

Returns "Hello world" in a very complicated way

SomeShinyObject

Posted 2014-05-31T16:00:49.733

Reputation: 953

1Of course, it can. – nicael – 2014-06-07T13:11:55.633

8

Ruby

def handle(switch)
  case switch
  when 'a',
    print(switch << 'a')
  when 'n',
    print(switch.sub!('b','n'))
  when 'q',
    print(switch.gsub('b','q'))
  when 'b',
    nil
  else
    print('s!')
  end
end

handle('b')

Demo

histocrat

Posted 2014-05-31T16:00:49.733

Reputation: 20 600

bananas! Yep, but what if I don't like bananas? Anyway, +1, good example (actually I like bananas). – nicael – 2014-06-09T18:13:24.897

If you don't like bananas, simply pass 'a' instead of 'b' and then yes, we have no bananas. – histocrat – 2014-06-09T20:10:42.063

7

Perl

print pack qq;
\1108;
,hex for qw;
2e5d66e 4b88fad 4560770 3aedf79;

Prints a friendly message for a special day!

Outputs Happy Birthday!! (Was given to a programmer friend who hates Perl.)

The white space and semicolon as the delimiting characters are meant to deceive.

qq;\1108; (equivalent to "H8")
The semicolons are the delimiters for the double quote method. \110 is the octal code for H, followed by a plain 8, giving us the packing code "H8", meaning 8 hex digits

hex
Converts a hex string to an integer. No parameter means it runs on $_ (default variable)

for qw;2e5d66e 4b88fad 4560770 3aedf79;
The semicolons are the delimiters for the quoted list method. for indicates to run the entire block on the left once per each hex string.

"Unobfuscated", the script is:
print pack("H8", hex($_)) for (2e5d66e 4b88fad 4560770 3aedf79);

Each of those hex values, when de-hexed into an 8 digit number, and then packed into a 4 characters, will print 4 of the letters of Happy Birthday!!

Run it here

Allen G

Posted 2014-05-31T16:00:49.733

Reputation: 1 825

7

The goal is to write program that will produce a word unexpected

I didn't read past that. I have a serious issue with reading long passages (and error messages).

I decided to create a simple program that alerts "5". Unfortunately, I can't seem to get it to work.

(function () {
    "use strict";

    function logError(e) {
        // I have a serious issue with reading long error messages
        // I'll just print the first word of the error and figure out what it means
         console.log(e.message.split(" ")[0]);
    }
    // Useful assert method for debugging
    function assert(value, message) {
        if (value === false) {
            throw new Error(message);
        }
    }

    // Sets a varaible "a" to 5 and alerts it
    try {
        // Try it the old fashioned way
        a = 5;
        alert(a);
    } catch (e) {
        logError(e);

        // In some legacy browsers, that might now work
        // because alert requires a string
        try {
            // create objA which has a method "word", which always returns a word, or a string
            var objA = {
                word: function () {
                    return new String(5);
                }
            };
            // Make sure it is a string
            assert(typeof objA.word() === "string", "word didn't return a string");
            alert(objA.word());
        } catch (e) {
            logError(e);
            // Some browsers, such as chrome, just won't work
            // It's time to be evil and force them to work!
            try {
                eval("a = 5" +
                    "alert(a)");
            } catch (e) {
                logError(e);
            }
        }
    }
})();

Tested in the google chrome console. It produces (literally) a word unexpected.

http://jsfiddle.net/prankol57/Af4sH/ (For the jsfiddle, you must open your console, there won't be any html output)

soktinpk

Posted 2014-05-31T16:00:49.733

Reputation: 4 080

6

Javascript

alerts "hello"

var $$ = String.fromCharCode;this[(+{}+[])[-~[]]+(![]+[])[-~-~[]]+([][+[]]+[])[-~-~-~[]]+(!![]+[])[-~[]]+(!![]+[])[+[]]]($$((((((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))*((+!+[])+(-~+[])))))+(((+!+[])+(-~+[]))*((+!+[])+(-~+[]))))+$$((((((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))*((+!+[])+(-~+[])))))+(-~+[]))+$$((((((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))*((+!+[])+(-~+[])))))+(((((+!+[])+(-~+[]))*((+!+[])+(-~+[])))*((+!+[])+(-~+[])))))+$$((((((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))*((+!+[])+(-~+[])))))+(((((+!+[])+(-~+[]))*((+!+[])+(-~+[])))*((+!+[])+(-~+[])))))+$$(((((((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))+((!+![])^((+!+[])+(-~+[]))))*(((+!+[])+(-~+[]))*((+!+[])+(-~+[])))))+(((((+!+[])+(-~+[]))*((+!+[])+(-~+[])))*((+!+[])+(-~+[])))))+(((!+![])^((+!+[])+(-~+[]))))));

caveat: one variable declaration.(no time for changing String.fromCharCode to symbols)

more readable code (solution is derived from this code (it's mine BTW))

Ref:

  1. http://sla.ckers.org/forum/read.php?24,33349,33405
  2. http://patriciopalladino.com/blog/2012/08/09/non-alphanumeric-javascript.html (inspired for accessing alert from symbols)

Avinash R

Posted 2014-05-31T16:00:49.733

Reputation: 181

1This might run in Lisp, and Brainfuck as well. – Anubian Noob – 2014-06-12T14:47:48.907

1@AnubianNoob I tried it in brainfuck, it goes to an infinite loop. Also i did in Lisp, throws syntax error. – Avinash R – 2014-06-12T14:57:57.223

3It would have been pretty funny if it did work ;) – Anubian Noob – 2014-06-12T14:58:52.103

This one isn't code-golf, no need to make it compact (and unreadable) or to count characters. – Alejandro – 2014-06-18T00:06:29.560

1@Alejandro the code being unreadable makes it unexpected to give any output. BTW, I have removed the reference to number of characters – Avinash R – 2014-06-19T17:30:01.913

5

Ruby

display(STDOUT) unless case class Do
self
end when method(:print).to_proc
end

I've used this trick in an earlier underhanded contest, but I thought I'd dress up the output a bit differently.

Demo

First person to explain where the word

Domain

comes from wins a no-prize.

histocrat

Posted 2014-05-31T16:00:49.733

Reputation: 20 600

2The last part of the word is easy. The display method of the ruby main class is writing itself to STDOUT. It's printed second, because everything after unless needs to be evaluated first to decide whether to execute the code before it. After the case statement returns nil, it is printed. The first part of the word is the tricky part. The case statement is comparing the Do class to main's print method as a proc. The when clause compares using ===, and the Proc === method is defined to invoke its code block with the other object as the parameter so it calls print with Do as the parameter. – Chris Kentfield – 2014-06-08T06:33:36.130

5

Emacs Lisp for version 22.1.1 (that comes on osx)

Run this right on the command line

emacs -q --batch --eval "(progn (execute-kbd-macro \"\C-[xinfo\C-m\C-[xfun\C-i\C-m\C-u49\C-n\") (search-forward (string(+ ? ? (*)? )(+(/ ? (+(*)(*)(*))) ? ? ? (*(+(*)(*))(+(*)(*))))))(print (buffer-substring-no-properties (+(*)(*)(*)(point)) (progn (forward-word(*)) (point)))))"

Output: "woman"

demo

Jordon Biondo

Posted 2014-05-31T16:00:49.733

Reputation: 1 030

5

Python

Inspired by @Roberto's answer.

try: exec('from __future__ import braces')
except Exception as e: print(e.msg)

Another Python easter egg; it prints: not a chance

Rynant

Posted 2014-05-31T16:00:49.733

Reputation: 2 353

5

TI-BASIC

:

(Either type the colon on an empty screen, or make an empty program or one containing just colons.)

Prints "Done"

Ypnypn

Posted 2014-05-31T16:00:49.733

Reputation: 10 485

5

Homespring

(Empty program)

Output

In Homespring, the null program is not a quine.

Why?

Homespring prints this message when interpreting a empty program to prevent cheating at code golf challenges

CocoaBean

Posted 2014-05-31T16:00:49.733

Reputation: 309

4

GolfScript

0:b;"#{STDIN.inspect}"${b{..}{.}if 78={6-.1:b;}{}if;}%

Outputs:

HOST

Try it out here.

How it works:

"#{STDIN.inspect}" returns "#<IO:<STDIN>>". $ sorts it into "#:<<>>DIINOST". The rest of the program loops through the string, dropping chars until it finds an N. Then, it changes the N to a H and keeps the rest of the chars.

Justin

Posted 2014-05-31T16:00:49.733

Reputation: 19 757

4

JavaScript, 10 characters

alert(1/0)

Test it on http://jsfiddle.net/cC52Z/!

Output

Infinity

Explanation

Instead of disallowing division by zero, JavaScript makes it always return Infinity (division of a negative by zero produces -Infinity).

aws

Posted 2014-05-31T16:00:49.733

Reputation: 67

I love it )) Good answer. – nicael – 2014-06-11T14:49:36.253

10I expected that. – nyuszika7h – 2014-06-14T14:41:28.267

2Not unexpected... – WallyWest – 2014-06-20T06:10:45.893

4

Perl

#!perl
eval('(*16,z<=:3??0<x06161xBBQ$8t'^((
'0'x27)^((((((('h'x6).'A'.'b'x5).'a'.
'h'x2).'A'.'h'x5).'A'.'H'x3).'f'x2))))

Output: Mohammad Anini 3:)

Mohammad Anini

Posted 2014-05-31T16:00:49.733

Reputation: 141

1If you use the >! command, you can hide what this code does until a mouse scrolls over the text. – Kyle Kanos – 2014-06-17T00:24:17.390

3

Julia

(repr(typeof(""))*repr(typeof(' '))*repr(typeof(1//1)))[6:7:27]

Another option:

print(print())

Glen O

Posted 2014-05-31T16:00:49.733

Reputation: 2 548

3

T-SQL

declare @S char(3)  -- Declare a string variable that holds three characters
set @S = 1000       -- Implicitly convert the value 1000 to string
select ascii(@S)    -- Get the ASCII code value of the leftmost character

Outputs

The Answer to the Ultimate Question of Life, the Universe, and Everything

SQL Fiddle

Mikael Eriksson

Posted 2014-05-31T16:00:49.733

Reputation: 249

Maybe I can't create fiddle, could you create it? – nicael – 2014-06-07T05:36:52.523

@nicael Does the link not work for you? – Mikael Eriksson – 2014-06-07T05:46:52.863

But it outputs column_0 42. – nicael – 2014-06-07T05:50:11.253

5Yes it does. Don't kill the messenger but 42 is the answer to the ultimate question. – Mikael Eriksson – 2014-06-07T06:25:52.077

3

JavaScript

for (var i in this) {
  if(parseInt(i[0]+i[2],16)==174) {
    this[i](i[0]+i[1]+i[2]);
    break;
  }
}

Not the cleverest. But, I sure do like what it has to say!

Tested in Chrome.

svidgen

Posted 2014-05-31T16:00:49.733

Reputation: 311

Nice, but too short. – nicael – 2014-06-07T18:59:41.533

Thanks ... But, too short? ... What's the requirement? – svidgen – 2014-06-07T19:10:17.450

Simply it is popularity contest. – nicael – 2014-06-07T19:10:59.510

3

Bash

<<< echo echo echo

or

`echo echo echo`

Both commands output echo, of course.

Qeole

Posted 2014-05-31T16:00:49.733

Reputation: 641

Also available in recursive version with the $() syntax: $(echo $(echo echo $($(echo echo) echo))), same output… – Qeole – 2014-06-10T23:51:42.097

You got me at first. – nyuszika7h – 2014-06-14T14:53:32.643

3

Java

This code is a bit long, outputs word:

SEVERE

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Text
{
    public static void main( String args[] )
    {
        makeSureWeCantOutputText();
        unexpected();
    }

    private static void unexpected()
    {
        try
        {
            //this does nothing
            long x = 1;
            for( int i = 1; i / i == 1; i++ )
            {
                x++;
            }
        }
        catch( Exception ex )
        {
            Logger.getLogger( Text.class.getName()).log( Level.SEVERE, "");
        }
    }

    private static void makeSureWeCantOutputText()
    {
        try
        {
            //OutputStream class that outputs to nowhere
            PrintStream stream = new PrintStream( new OutputStream()
            {

                @Override
                public void write( int b ) throws IOException
                {
                }

            } );

            //replace System.out field with OutputStream that does nothing
            Field field = System.class.getDeclaredField( "out" );
            field.setAccessible( true );

            Field modifiersField = Field.class.getDeclaredField( "modifiers" );
            modifiersField.setAccessible( true );
            modifiersField.setInt( field, field.getModifiers() & ~Modifier.FINAL );

            field.set( null, stream );
        }
        catch( Exception e )
        {
            //we don't want to outpout anything if it fails
        }
    }
}

Explanation:

When exception is thrown we use Logger. Logger with Level.SEVERE Logger uses System.err instead of System.out. i / i throws exception when i reaches 0 (it starts from 1 and increases, then integer overflows to Integer.MIN_VALUE and is increased to 0).

barteks2x

Posted 2014-05-31T16:00:49.733

Reputation: 281

3

Ruby

#!/usr/bin/ruby
a = self.methods.map{|x|x.to_s}
b = a.count
p a[b/2-8]+a[b-6]

Outputs:

"freeze!"

BenjiWiebe

Posted 2014-05-31T16:00:49.733

Reputation: 231

3

Ruby

Bit late to the party, but couldn't help but notice that no-one had done something like this:

puts 65791925216734442002988169043447582627179158156970580.to_s(36)

Demo

The_Lone_Devil

Posted 2014-05-31T16:00:49.733

Reputation: 191

2

JavaScript

function rgbToHex(rgb) {
  var r = rgb[0].toString(16);
  var g = rgb[1].toString(16);
  var b = rgb[2].toString(16);
  return '#' + r + g + b;
}

alert(rgbToHex([176,0,11]));

wolfhammer

Posted 2014-05-31T16:00:49.733

Reputation: 1 219

1The hex converter doesn't properly zero pad and yes it alerts #b00b. – wolfhammer – 2014-06-13T00:56:35.517

2

JavaScript

Test it on your browser's console

x = Math.random() > 0.5 ? 2 : 0;
alert(document.getElementsByClassName('question-hyperlink')[0].text.substr(13 - x,13 + x))

William Barbosa

Posted 2014-05-31T16:00:49.733

Reputation: 3 269

Yep, good. Wonderful. No need to add explanation )) However if word is expected, I expect it. Anyway, +1. – nicael – 2014-06-18T11:53:18.687

2

J

This is what happens if you're bored.

'Nqbs a `u{c vac'({&a.@-@(t@[-+:@t=:a.&i.@]))'Kill a good man'

Output:

Have a nice day.

Why?

It calculates -y - x - x where x is the left string and yis the right string.

seequ

Posted 2014-05-31T16:00:49.733

Reputation: 1 714

And it for sure isn't taking home the cleverness award, but I like it. – seequ – 2014-06-19T19:21:40.503

2

IBM Enterprise COBOL

   ID DIVISION. 
   PROGRAM-ID. ERRMSG. 
   ENVIRONMENT DIVISION. 
   DATA DIVISION. 
   WORKING-STORAGE SECTION.
   01  A PIC 9 VALUE ZERO. 
   PROCEDURE DIVISION. 
       ADD 1 TO A 
       GOBACK 
       . 

Here's a short program. It obviously does nothing but add one to the field A.

However, toss it into the compiler, and... http://www-01.ibm.com/support/docview.wss?uid=swg21156178

You can generate a complete listing of compiler diagnostic messages with their >message numbers, severities, and text by compiling a program that has program-name ERRMSG.

You can code just the PROGRAM-ID paragraph, as shown below, and omit the rest >of the program.

The key is to have errmsg as the PROGRAM-ID. No other code is required. The code in my example is just to convince that it is a real program which produces no output.

This is the example IBM show in the link:

Identification Division.
Program-ID. ErrMsg.

Indeed, this is enough:

Program-ID. ErrMsg.

Or this:

Program-ID. ErrMsg.
The quick brown fox jumped over the 
lazy dog, or any other text you like.

This is an example of the output: http://www-01.ibm.com/support/docview.wss?uid=swg21156178&aid=1

When the compiler gets to errmsg. (note the full-stop/period, which doesn't have to be immediately after errmsg, but must exist after it somewhere in the source) it knows what is needed, reads to the end of the source and then produces the listing, including the description of the format and information contained in the error messages, and all the messages themselves.

As a curiosity, you can try this:

Program-ID. ErrMsg

This time no full-stop/period is encountered before the end of the source is reached, and a (very) minor compiler bug is revealed, as the compiler continues reading, and abends (ends abnormally, crashes) with an S001 Reason Code 5 and

IEC020I GET ISSUED AFTER END-OF-FILE

No IBM Mainframe COBOL has ever separately documented its error messages in an actual manual.

Bill Woodger

Posted 2014-05-31T16:00:49.733

Reputation: 1 391

1

Javascript - 19 chars

This one is inspired by Gary Bernadt's 'wat' talk: Video Link

([]+{}).substr(1,6)

Unexpected because Array [] + Object {} should not output an Object.

"object"

Another solution suggested by bebe

(0+{}).slice(2,8)

"object"

Bassem

Posted 2014-05-31T16:00:49.733

Reputation: 201

1

Mathematica

SeedRandom[377]; FromCharacterCode@RandomInteger[{98, 123}, 5]

outputs proof

BaseForm[272580165883129, 29]

outputs impossible

You can try the second one online in Mathics. Type in the code and press Shift-Enter. The first one is implementation specific, thus it won't work in Mathics, but it does work in all recent versions of Mathematica.

Szabolcs

Posted 2014-05-31T16:00:49.733

Reputation: 341

outputs "impossible[base 29]", the 29 is beneath impossible. Why is it impossible? – Mega Man – 2016-08-08T19:15:20.360

@MegaMan I don't understand your question – Szabolcs – 2016-08-08T20:14:05.467

1

Perl

open IN, "<".$0;
while (<IN>) {
        chomp;
        (m/(^|[^\)])w.i.e/ && (s/^.(.).(.)(.).*/$1$3$2$2/ && print $_)) || m/(^|[^\)])...se/ && (s/^..(.).*/$1/ && print $_."\n");
}
close IN;

Opens it's own script file and prints out some of the characters.

urzeit

Posted 2014-05-31T16:00:49.733

Reputation: 1 297

1

C++

#include <iostream>
#include <limits.h>
#include <math.h>
using namespace std;
typedef unsigned long long ULL;
#define C(x) cout<<(ULL)(x)<<endl
int main ()
{
    ULL b=UINT_MAX;
    ULL d=LLONG_MAX;

    ULL f=(ULL)(d/b);
    size_t n = (log(f)/log(10))+1;
    char *w=new char[n];
    char x;
    for(size_t i=0; i<n; i++)
    {
        x = (char)((f%10)+'@');
        f=(ULL)(f/10);
        w[n-i-1]=((n-i)<4)?x:0;
    }
    cout<<w<<endl;
    return 0;
}

Produces the word "BAD".

bacchusbeale

Posted 2014-05-31T16:00:49.733

Reputation: 1 235

1

Extended BrainFuck

>~~ufp~<.[-.<]

outputs "poet"

Sylwester

Posted 2014-05-31T16:00:49.733

Reputation: 3 678

1Everything what bf and its derivates do is unexcepted... – Mega Man – 2016-08-08T19:23:33.513

1

Burlesque

blsq ) 4593109656 128B!
"hello"
blsq ) vvSh29.-4.+
"size"

Explanation

128B! is just base 128.

vvSh29.-4.+ produces an error, converts the error to a string and then slices.

mroman

Posted 2014-05-31T16:00:49.733

Reputation: 1 382

1

Mouse-2002

' '  + 20 + b + a + !'
' '  + 13 + i + z + !'
' '  + 4  + i + z + !'
' '  + 23 + i + z + !'
' '  + 15 + i + z + !'
' '  + 4  + i + z + !'
' '  + 2  + i + z + !'
' '  + 19 + i + z + !'
' '  + 4  + i + z + !'
' '  + 3  + i + z + !'
'  '   +  s  -  !'
'  '   +  n n + n n + + c + -  !'

$

Output:

Unexpected.

Explanation:

uses ascii charcodes. the letters refer to addresses, which are integers in the range 0-25.

cat

Posted 2014-05-31T16:00:49.733

Reputation: 4 989

0

PHP, 59 or 31 chars

Does it have to be a real word? If not, this will work:

echo preg_replace('/[0-9]+/',"",substr(md5(time()),0,25));

or even this if numbers are okay:

echo substr(md5(time()),0,25); 

Set a range

echo substr(md5(time()),0,rand(1,50)); 

jay

Posted 2014-05-31T16:00:49.733

Reputation: 121

I am so stupid. I mean "knife", not "nife". As I can not produce "knife", I edited my example to produce "fine". (Such word exists, isn't it? :) ) – nicael – 2014-05-31T17:29:33.037

I clarified my question. – nicael – 2014-06-02T19:30:37.033

0

Haskell

Classic:

let 1+1="Hello World!" in 1 + 1

Outputs Hello World!. No kidding.

Qeole

Posted 2014-05-31T16:00:49.733

Reputation: 641

Should be a word. – CalculatorFeline – 2017-06-20T22:30:44.837

0

Mathematica

ToString[#&@;;]~StringTake~{16,20}

Prints "Dummy". But I seriously do not understand why #&@;; does..what it does.

CalculatorFeline

Posted 2014-05-31T16:00:49.733

Reputation: 2 608

Funny note: None of the letters Dumy appear in the code. – CalculatorFeline – 2016-11-13T23:49:43.813