# The Jigsaw Code Puzzle

Let's piece together some code! Here are 1920 random (printable ASCII) characters. Think of them as a big heap of unsorted jigsaw puzzle pieces still in the box:

L-^=v^Ej2tW8OxNOIecSt4m}tji2O%YRJ;PJ!M|0*oO77$*Rs&2*<c"KI7e%FY^?I=];Y@x)u)IBk%_a#<E6<yv5O*$kL):
KNGq)2Wa%b)j."(6U|{[UY@lrCSJu0RHX!1z7f,v}n=GvRgkrEZ=YT:4H44bz]iC<](:+FF?Ay'vX~h5QMF)0vaXk1sk@p
Zj).{+l;PBKHABvEP%FnSw>u<_-4B^A>I8Kay&5]vXZJ{fCF]UVZ<!ZpOI$7\Y%@:%H3wPsX-/l]ZZ?Q/d\M<T@'t]zip {[ovg:6EpCT&'+vU4Heb^;}0AV|?<}M0rAH/^DL"RkT~%$[VUlM]-&We4(P=66},hL~;a:$'yty.W[g2OWcL~b:Ryj0*eN< ;&-n[F1F=oh0k[NI!xS"]pA@Y;K}'=ekG5yda8J$+N;:FIx:l,f_LT@sV[]HF@2*vl?|q"GL1j&%e(CyYPqY%3W|@z}]bp
4_'1Nx{"G2&j6$UWt_#%sTt2xC}s1P8J<gV24_RWge/aMuyVOjz=zS!1i2s@Q#@^~@W/k@.YLbKxS:g9?J^p;7ju?B\yC5 x,ZApKS5G4}kx_iM)f4/|su>=[{XSV#{,j5Qn3U.v5LF;HXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'3$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4Z0G4>8PR29'L?n\gk,*4X[-%T\FC)jj0jl_x<xL8E:G2-"3tT8&E}"sE+SH[7jR%@V)a{!m8K>.rAO 2[dq7GX9nrz8p4}^2mn@q|dF%<.Tl8)Dk?O.<UoE(a*k_=4+u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQ3E_t#&^IOov7v8 ~j#I#OHgxg{DZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;3LI!2(6gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2niIYPp9 8A3iiP[*!SH2*SN8'V?w4Ufx2H*Az%{}FlUdH31TJ5{:ge^N91^;9GjUqf'$_|8P"kHR1w.(ASwmN)U-~q"[XcWbqPnns=
d.ZoPJ}$Xc2lA>HN28(d0y+UAr*sQ=?KE07=\FsVN(#?&hRabS%BVI#<O$o#4x5ZFFLGDcA4t?&Eh~Z$oBWwNSNv^;vO' 2&9egng~L#\QkfMG?S/n@%-VA[?f9K&3"V%P#Sv0!D<,GV:Z;3c&zFe^k&^0b7fAjvrbMc^Lq7k$h=YL<h7<0\NK>~Q=uUv)
4cI$.'b-RVS-=rom:=8QR=c>9am-^5F[XGv>E/>|]~\']3{r{kTc?ee1v=;I7]52#NE)~A;}!z>5?hi{5<9FtWH6{VO_Y-Jy Mw>{l8n#mD,kl'8cG^.7sy=QqU-3~SKGs5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xui*5i^0^fO@6?2IdCn_C lPKaJ6]0t!u>v8<d'Vby]8kEHh04p(YI)&7w82BrGB3PkI,s+%7ux5)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?;2'fxH3JWYE Z.[N:[K:CY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC$>)z:k=C\0ho/v{57#+2,*%]>p~vI2^C:2DebJR>.ESw^wd2N<~]O9sOQ
_yvIw&Ryf%JgT@W(G1wfU3.4G3U}x1jKJzJY\S9n$2~P;F}*eT9UXcTNBTrTs>~0v_Oi.y8ofX6i5u$;'^"q][QhTb*gO[U
n'R0"v1r+9fv;5G7Bg=D:c*a=1@[}7}dYOO{Mz2&@6jnNq.QcBDM9Dd=R.*=MqZ93#'{AJJFqx<{qb':B!H8ig1L%T\Vuc"
(h$i3,scX'hqpbw"=nY*Lu:h1wR{+-\^3cQkIWfq)3?&p;~pvDW$o7\O|R6rB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv


The "floor" we're puzzling on is initially just a 96x20 grid of spaces (code point 0x20). Each answer may move around adjacent blocks of pieces, and choose up to 10 puzzle pieces (characters) and add them to the puzzle to create a new program. That program must print the number of your answer (numbered sequentially, starting from 1).

There should never be two answers with the same number N. If two people happen to simultaneously answer for some N, the one who answered later (even if it's a few seconds difference) should graciously delete their answer.

To make this run a bit smoother, try to stick to the following steps when posting your answer:

• Make sure that someone has independently verified the correctness of the previous answer (and left a corresponding comment).
• Take the previous "puzzle floor" and "box of pieces". You may move any adjacent block of characters on the puzzle floor around freely as a unit (characters are adjacent if they touch along the horizontal or vertical direction). Adjacent blocks cannot be split up again. Examples on a 5x4 grid:

Last answer:     Valid:        Invalid:

|a  bc|          |d  g |       |a  bc|          |  bc |          |a  bc|
| d e |          |fa bc|       |d  e |   -or-   |d e  |   -or-   |   e |
| f  g|          |   e |       | f  g|          |f  g |          |df g |
|  h  |          |h    |       |  h  |          | h   |          |  h  |


In the valid example, a was moved one step down and right. The df block was moved to the top left. The bce block was moved down by 1. The g was move two up and one to the left. The h block was moved all the way to the left.
In the first invalid example df has been separated. In the second, a has been removed. In the third, df has been rotated.

Next, remove at least 1 and up to 10 characters from the "box of pieces" and choose that many spaces on the "puzzle floor", which you'll replace by those characters. This is your submitted program. Please include both the new "puzzle floor" and "box of pieces" in your answer.

# N. [Language], [number of blocks moved], [number of pieces added]

### Remaining pieces:

[grid of remaining characters]

[notes, explanation, observations, whatever]


where N is the number of your answer.

This is absolutely vital to the challenge! I've provided a dashboard tool for the challenge to help with the bookkeeping, and it relies on the above template. (See bottom of the post.)

• Please include the vertical bars at the sides of puzzle floor, because otherwise, Stack Exchange won't display empty lines. These two columns are never to be considered part of the code.

These regulations may seem rather strict, but they are necessary to avoid invalid answers somewhere up the chain.

## The Rules

• A user may only submit one answer per 4 hour period. (This is to prevent users from constantly watching the question and answering as much as possible.)
• A user may not submit two answers in a row. (e.g. since I submitted answer 1 I can't do answer 2, but I could do 3.)
• No language may be used more than once! Different versions of the same language count as the same language. Languages count as distinct if they are traditionally called by two different names. (There may be some ambiguities here but don't let that ruin the contest.)
• Do not edit answers that have been verified.
• Should a mistake be discovered earlier in the chain (i.e. after follow-up answers have been posted), the offending answer should be deleted. However, all answers that have been posted since should not be changed to reflect this.

• Your program has to print N, the number of your answer, to STDOUT or closest alternative. It has to be a full program and must not assume a REPL environment.

• You may or may not print a trailing newline.
• Let M be the number of blocks you moved for your answer (no matter how far) and P the number of characters you added to the puzzle floor, the score of your answer will be 10 + N - M - P. As a 5x4 example, if your answer changed the puzzle floor as follows

|a  bc|         |a ij |
| d e |   -->   | d bc|
| f  g|         | f eg|
|  h  |         | h  k|


your score would be 10 + N - 2 - 3 = N + 5, because two blocks were moved (h and bce) and three characters were added (i, j and k).

• The winner will be the user who accumulates the greatest number of points across their answers. In case of tie, the user with the latest answer wins. I will accept the winner's latest answer.

• In the unlikely event that all characters will be used up, the challenge ends.

## Dashboard

Here is a little Dashboard tool, which should help with the necessary bookkeeping for this type of challenge.

It displays the current status of the challenge - in particular, if there are conflicting answers, if an answer needs to be verified, or if the next answer can be posted.

It also produces a list of all languages that have been used, as well as a leaderboard of all users. Please stick to the answer format above, so the dashboard can read out the relevant strings from your answers. Otherwise you might not be included in the leaderboard.

Please let me know (ideally in chat) if you spot any bugs or have some ideas how the usefulness of the tool could be improved.

function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentsUrl(e,t){return"http://api.stackexchange.com/2.2/answers/"+e+"/comments?page="+t+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){$.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(e){answers.push.apply(answers,e.items);if(e.has_more)getAnswers();else{page=1;getFinalComments()}}})}function getFinalComments(){answers=answers.filter(shouldHaveHeading);answers=answers.filter(shouldHaveScore);console.log(answers);$.ajax({url:commentsUrl(answers[0].answer_id,page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(e){comments.push.apply(comments,e.items);if(e.has_more)getAnswers();else process()}})}function shouldHaveHeading(e){var t=false;try{t|=/^(#|&lt;h).*/.test(e.body_markdown);t|=["-","="].indexOf(e.body_markdown.split("\n")[1][0])>-1}catch(n){}return t}function shouldHaveScore(e){var t=false;try{t|=HEADER_REG.test(e.body_markdown.split("\n")[0])}catch(n){}return t}function findDuplicates(e){var t=false;var n={};e.forEach(function(e){var r=e.body_markdown.split("\n")[0].match(NUMBER_REG)[0];if(n[r])t=t||r;n[r]=true});return t}function hasBeenVerified(e,t){var n=false;t.forEach(function(t){n|=/correctness verified/i.test(t.body_markdown)&&e!=t.owner.user_id});return n}function userTimedOut(e){return NOW-e.creation_date*1e3<MSEC_PER_ANSWER}function getAuthorName(e){return e.owner.display_name}function getAnswerScore(e,t,n){e=parseInt(e);t=parseInt(t);n=parseInt(n);return 10+e-t-n}function process(){$("#last-user").append(answers[0].owner.display_name);var e=answers.slice(1).filter(userTimedOut).map(getAuthorName).join(", ");if(e)$("#timed-out-users").append(e);else $("#timed-out-notice").hide();var t=answers[0].body_markdown.split("\n")[0].match(NUMBER_REG)[0];var n=findDuplicates(answers);if(n){var r=$("#status-conflict-template").html();$("#challenge-status").append(r.replace("{{NUMBER}}",n));$("#challenge-status").addClass("conflict")}else if(!hasBeenVerified(answers[0].owner.user_id,comments)){var r=$("#status-verification-template").html();$("#challenge-status").append(r.replace("{{NUMBER}}",t));$("#challenge-status").addClass("verification")}else{var r=$("#status-next-template").html();$("#challenge-status").append(r.replace("{{NUMBER}}",t).replace("{{NEXT}}",parseInt(t)+1));$("#challenge-status").addClass("next")}var i={};var s={};var o=[];answers.forEach(function(e){var t=e.body_markdown.split("\n")[0];var n=$("#answer-template").html();var r=t.match(HEADER_REG)||[0,-1,"",0,0];var u=r[1];var a=r[2];var f=r[3];var l=r[4];var c=getAnswerScore(u,f,l);var h=getAuthorName(e);n=n.replace("{{NAME}}",h).replace("{{NUMBER}}",u).replace("{{LANGUAGE}}",a).replace("{{MOVED}}",f).replace("{{ADDED}}",l).replace("{{SCORE}}",c).replace("{{LINK}}",e.share_link);n=$(n);$("#answers").append(n);i[h]=(i[h]||0)+c;s[h]=(s[h]||0)+1;o.push({lang:a,link:e.share_link})});var u=[];for(var a in i)if(i.hasOwnProperty(a)){u.push({name:a,numAnswers:s[a],score:i[a]})}u.sort(function(e,t){return t.score-e.score});var f=1;u.forEach(function(e){var t=$("#user-template").html();t=t.replace("{{NAME}}",e.name).replace("{{NUMBER}}",f++).replace("{{COUNT}}",e.numAnswers).replace("{{SCORE}}",e.score);t=$(t);$("#users").append(t)});o.sort(function(e,t){return e.lang.localeCompare(t.lang)});o.forEach(function(e){var t=$("#lang-template").html();t=t.replace("{{LANGUAGE}}",e.lang).replace("{{LINK}}",e.link);t=$(t);("#lang-list").append(t)})}var QUESTION_ID=44966;var ANSWER_FILTER="!*cCFgu5yS6BFQP8Z)xIZ.qGoikO4jB.Ahv_g-";var COMMENT_FILTER="!)Q2B_A497Z2O1kEH(Of5MUPK";var HOURS_PER_ANSWER=4;var MSEC_PER_ANSWER=HOURS_PER_ANSWER*60*60*1e3;var NOW=Date.now();var answers=[],comments=[],page=1;getAnswers();var NUMBER_REG=/\d+/;var HEADER_REG=/(\d+)[.]\s*([^,]*[^,\s])\s*,[^,\d]*(\d+)[^,\d]*,[^,\d]*(\d+)/ body { text-align: left !important} #challenge-status { font-weight: bold; padding: 10px; width: 800px; } #blocked-users { padding: 10px; width: 800px; } .conflict { background: #994343; color: white; } .verification { background: #FFDB12; } .next { background: #75FF6E; } #last-user, #timed-out-users { font-weight: bold; } #answer-list { padding: 10px; width: 350px; float: left; } #leaderboard { padding: 10px; width: 280px; float: left; } #languages { padding: 10px; width: 130px; float: left; } table thead { font-weight: bold; } table td { padding: 5px; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="challenge-status"> </div> <div id="blocked-users"> User <span id="last-user"></span> has posted the last answer, and may not post the next one. <div id="timed-out-notice"><span id="timed-out-users"></span> have answered within the last four hours and may not answer again yet. (If a user appears in this list twice, they must have answered twice within four hours!)</div> </div> <div id="answer-list"> <h2>List of Answers (newest first)</h2> <table class="answer-list"> <thead> <tr><td>No.</td><td>Author</td><td>Language</td><td>M</td><td>P</td><td>Score</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <div id="leaderboard"> <h2>Leaderboard</h2> <table class="leaderboard"> <thead> <tr><td>No.</td><td>User</td><td>Answers</td><td>Score</td></tr> </thead> <tbody id="users"> </tbody> </table> </div> <div id="languages"> <h2>Languages</h2> <table class="languages"> <tbody id="lang-list"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{NUMBER}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{MOVED}}</td><td>{{ADDED}}</td><td>{{SCORE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="user-template"> <tr><td>{{NUMBER}}</td><td>{{NAME}}</td><td>{{COUNT}}</td><td>{{SCORE}}</td></tr> </tbody> </table> <table style="display: none"> <tbody id="lang-template"> <tr><td><a href="{{LINK}}">{{LANGUAGE}}</a></td></tr> </tbody> </table> <div id="status-conflict-template" style="display: none"> There is more than one answer with number {{NUMBER}}!<br> Please resolve this conflict before posting any further answer. </div> <div id="status-verification-template" style="display: none"> Answer {{NUMBER}} has not been verified!<br> Please review the answer and post a comment reading "Correctness verified." on the answer if it is valid. Note that this has to be done by a different user than the author of the answer! </div> <div id="status-next-template" style="display: none"> Answer {{NUMBER}} has been verified!<br> You may now post answer {{NEXT}}. </div> ### Useful scripts Here are two CJam scripts for your convenience. You can run them in the online interpreter. 1. To remove the first and last column from the puzzle floor (to get the actual code), paste it into STDIN, and run qN/1f>Wf<N*. 2. To pad your code out to a 96x20 rectangle and add the columns of vertical bars around it, run qN/La20*+20<{96S*+96<'|\+'|+}%N* on your code. 3. To find out which characters were removed from the box of pieces between two answers, paste both of them into STDIN (without an empty line in between), and run qS-N/20/{:+}%94,\f{\33+c_@\f/:,~-_0<{N"Added character: "@;@N}{*}?}  It will also show if characters were added (not how many though). If someone wants to reimplement these as Stack Snippets, I'm happy to add them to this post. • Sort by oldest is useful here. – Sp3000 Jan 26 '15 at 11:29 • So, we must stop our language from processing other characters (make them comments for example), and add code to send an integer to stdout using 10 new characters? I don't think Python will do well here. The 2 dimensional and golf languages should be interesting. – Logic Knight Jan 26 '15 at 11:54 • @CarpetPython Yes, the entire "puzzle floor" has to be run as your code, so you may have to comment out existing code. That shouldn't be too hard right now though, since you could just collect all the unwanted blocks into one line, prepend and prepend a single-line comment. By the time this gets annoying, I'm sure we'll have run out of non-esoteric languages anyway. ;) – Martin Ender Jan 26 '15 at 11:55 ## 36 Answers # 32. Hack, 5 moved, 7 added |@{ '          (*@29(*/say56#\.@                                                               |
|   9                       :";8<<print                                                          |
|                            \'0                                                                 |
|                             +                                                     $| |~ }oh xcdddk*#p]27p | | /** puts+11 | | 12!$>{:                  PrintLn(30);                                    |
|                             +                                                                  |
|                             n                                                                  |
|                             '        };                                                        |
|        /*[$+ | | :Disp | | ' | | 10 | | ! | | 23$           'main'".3i                                                        |
|        iipsp25.             7   if                                                             |
|       a=                    O   )                                                              |
|   */echo 28  + 4            ;   #*)     xx               21//20(      022-3                    |


### Remaining pieces:

-^=v^EjW8OxNOIStmjO%YRJ;J!M|o77R&<c"KIe%FY^?I=];Yx))IBk%_a<E6<yv5O*$k): KNGq)2Wa%b)j"(6U|[UY@lCSJu0RHX!z,v}=GvRgkEZ=YT:4H44bz]C<](FF?AyvX~5QMF)0vaXsk@ Zj.{l;PBKHABvEP%FSw>u_4B^AI8K&5]vXZJ{fCF]UVZ<!ZOI$7Y%@:%HwPsX-/l]ZZ?Q/d\M<T@tz
{[vg:6ECT&vU4Heb^;0AV|?}M0rAH^DL"RkT%[VUlM]-&We4(P=6},hL~:yty.W[gOWcL~b:Ryj0*eN<
&-FF=oh0k[NI!xS"]pA@Y;K}'=ekG5ydaJ$N;:FI:,f_LT@V[]HF@*vl?|q"GL1j&%e(CyYPqY%W|@z}]b 4_1N{G2&j6UWt_#%sT2C}s1P8J<gV24_RWgMuyVOjz=zS!12s@Q#@^~@Wk@.YLbKxS:g9?J^;7ju?B\yC5 x,ZApKS5G4}kx_iMf4|su>=[{XSV#{,j5QU.v5LFHXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'3$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4ZG4>8PR2'L?\gk,4X[-%T\FC)jj0jl_x<xL8E:G2-"T8&E}"sE+SH[7jR%@V)a{m8K>.rAO 2[dq7GX9z8p4}^n@q|dF%<.Tl8)Dk?O.<UoEak_=4u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQ3E_t#&^IOov7v8 ~j#I#OHgxg{ZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;3LI!26gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2nIYP9 8A3P[*!SH2*SN8'V?w4Ufx2HAz%{}FlUdH31TJ5:ge^N91^;9GjUqf'$_|8P"kHR1w.ASwmNU-~q"[XcWbqPnns
dZoPJ}$Xc2lA>HN28(y+UAsQ=?KE7=\FVN(#?&hRabS%BVI<O$o4x5ZFFLGDcA4?&Eh~Z$oBWwNSNv^;vO' &9egng~L#\QkfMG?Sn@%-VA[?f9K&3"V%P#Sv!D<,GV:Z;3c&zFe^k&^0b7fAjvrbMc^Lq7k$h=YL<h7<0\NK>~Q=uUv)
4cI$.'b-RVS-=rom:=QR=c>9m-^5F[XGv>E/>|]~]3{r{kTc?ee1v=;I7]52#NE)~A;}!z>?hi{5<9FtWH6{VO_Y-Jy Mw>{l8n#mD,kl'8cG^.7sy=QqU-3~SKG5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xu5^0^fO6?2IdCn_C lPKaJ6]0t!u>v8<'Vby]8kEHh04p(YI)&7w82BrGB3PkI,s+%7ux5)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?;'fxH3JWYE Z.[N[KCY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC>)z:k=C\0v{7#+2,*%]>~vI2^C:2DebJR>.ESw^wN<~]O9sOQ _yvIw&Ryf%JgT@W(G1wfU34G3U}x1jKJzJY\S9n$2~P;F}*eT9UXcTNBTrTs>~0v_O.y8ofX6i5u$;'^"q][QhTb*gO[U n'R0vr+9fv5G7Bg=D:c*a=1[}7}dYOO{Mz&@6jnNq.QcBDM9Dd=R.*=MqZ3#'{AJJFqx<{qb':BH8ig1L%T\Vuc" h$i3,sX'hqpbw"=nY*Lu:hwR{+-\^3cQkIWfq)3?&p;~pvDW$o7\O|RrB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv  http://3v4l.org/RGaXk This was previously a PHP script which only compiled on PHP4 and fatalled on PHP5, but since that's not allowed I'll use a language which is compatible with PHP but with a different name :-p I did all the manipulations manually, so sorry if I've made a typo somewhere... :-/ • Correctness verified. – Martin Ender Jan 28 '15 at 17:16 # 31. Deadfish~, 1 moved, 3 added No one protested, so you're getting more Deadfish variants. Note: To use the interpreter, you need to call the deadfish function, not the deadfish_cli which is set to run if the file is executed. |PrintLn(30); (*@29(*/say56#\.@${|
|                           :";8<<print                                                         9|
|                             '0                                                                 |
|                             +                                                     $| |~ }oh xcdddk*#p]27p | | /** puts+11 | | 12!$>{:                                                                  |
|                             +                                                                  |
|                             n                                                                  |
|                             '                                                                  |
|        /*[$+ | | :Disp | | ' | | 10 | | ! | | 'main'".3i 23$                                  |
|                             7   if                 iipsp25.                                    |
|                             O   )                 a=                                           |
|                             ;           xx    */echo     21//20(      022-3             28  #*)|


Remaining Pieces

-^=v^EjW8OxNOISt4mjO%YRJ;J!M|o77R&<c"KIe%FY^?I=];Y@x))IBk%_a<E6<yv5O*$k): KNGq)2Wa%b)j"(6U|[UY@lCSJu0RHX!z,v}=GvRgkEZ=YT:4H44bz]C<](FF?AyvX~5QMF)0vaXsk@ Zj.{l;PBKHABvEP%FSw>u_4B^AI8K&5]vXZJ{fCF]UVZ<!ZOI$7\Y%@:%HwPsX-/l]ZZ?Q/d\M<T@tz
{[vg:6ECT&vU4Heb^;}0AV|?}M0rAH^DL"RkT%[VUlM]-&We4(P=6},hL~;:yty.W[gOWcL~b:Ryj0*eN<
&-FF=oh0k[NI!xS"]pA@Y;K}'=ekG5ydaJ$+N;:FI:,f_LT@V[]HF@*vl?|q"GL1j&%e(CyYPqY%W|@z}]b 4_'1N{G2&j6UWt_#%sT2C}s1P8J<gV24_RWgMuyVOjz=zS!12s@Q#@^~@Wk@.YLbKxS:g9?J^;7ju?B\yC5 x,ZApKS5G4}kx_iMf4|su>=[{XSV#{,j5QU.v5LFHXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'3$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4ZG4>8PR2'L?\gk,4X[-%T\FC)jj0jl_x<xL8E:G2-"T8&E}"sE+SH[7jR%@V)a{m8K>.rAO 2[dq7GX9z8p4}^n@q|dF%<.Tl8)Dk?O.<UoEak_=4u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQ3E_t#&^IOov7v8 ~j#I#OHgxg{ZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;3LI!26gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2nIYP9 8A3P[*!SH2*SN8'V?w4Ufx2HAz%{}FlUdH31TJ5:ge^N91^;9GjUqf'$_|8P"kHR1w.ASwmNU-~q"[XcWbqPnns
dZoPJ}$Xc2lA>HN28(y+UAsQ=?KE7=\FVN(#?&hRabS%BVI<O$o4x5ZFFLGDcA4?&Eh~Z$oBWwNSNv^;vO' &9egng~L#\QkfMG?Sn@%-VA[?f9K&3"V%P#Sv!D<,GV:Z;3c&zFe^k&^0b7fAjvrbMc^Lq7k$h=YL<h7<0\NK>~Q=uUv)
4cI$.'b-RVS-=rom:=QR=c>9m-^5F[XGv>E/>|]~]3{r{kTc?ee1v=;I7]52#NE)~A;}!z>?hi{5<9FtWH6{VO_Y-Jy Mw>{l8n#mD,kl'8cG^.7sy=QqU-3~SKG5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xu5^0^fO6?2IdCn_C lPKaJ6]0t!u>v8<'Vby]8kEHh04p(YI)&7w82BrGB3PkI,s+%7ux5)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?;'fxH3JWYE Z.[N[KCY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC>)z:k=C\0v{7#+2,*%]>~vI2^C:2DebJR>.ESw^wN<~]O9sOQ _yvIw&Ryf%JgT@W(G1wfU34G3U}x1jKJzJY\S9n$2~P;F}*eT9UXcTNBTrTs>~0v_O.y8ofX6i5u$;'^"q][QhTb*gO[U n'R0vr+9fv5G7Bg=D:c*a=1[}7}dYOO{Mz&@6jnNq.QcBDM9Dd=R.*=MqZ3#'{AJJFqx<{qb':BH8ig1L%T\Vuc" h$i3,sX'hqpbw"=nY*Lu:hwR{+-\^3cQkIWfq)3?&p;~pvDW$o7\O|RrB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv  • This looks correct to me. – Stephen Jan 28 '15 at 16:54 # 33. AutoHotkey, 4 moved, 10 added |; ' (*@29(*/say56#\.@ 6| |MsGBOX 33 ; :";8<<print | |/*[$                          i      alertprint                                                 |
|                            \'0                                                                 |
|                             +                                                     $| |~ }oh xcdddk*#p]27p | | /** puts+11 | | 12!$>{:                  PrintLn(30);                                    |
|                             +                                                                  |
|                             n                                                                  |
|                             '        };                                                        |
|                             +                                                                  |
|                            :Disp                                                               |
|                             '                                                                  |
|                             10                                                                 |
|                             !                                                                  |
|               23$'main'".3i | | iipsp25. 7 if | | a= O )${|
|  @*/echo 28  + 4            ;   #*)     xx               21//20(      022-3                   9|


Remaining Pieces

-^=v^EjW8xNOIStmjO%YRJ;J!|o77R&<c"KIe%FY^?I=];Yx))Ik%_a<E6<yv5O*$k): KNGq)2Wa%b)j"(6U|[UY@lCSJu0RH!z,v}=GvRgkEZ=YT:4H44bz]C<](FF?AyvX~5QMF)0vaXsk@ Zj.{lPBKHABvEP%FSw>u_4B^AI8K&5]vXZJ{fCF]UVZ<!ZOI$7Y%@:%HwPsX-/l]ZZ?Q/d\M<T@tz
{[vg:6ECT&vU4Heb^;0AV|?}M0rAH^DL"RkT%[VUlM]-&We4(P=6},hL~:yty.W[gOWcL~b:Ryj0*eN<
&-FF=oh0k[NI!xS"]pA@Y;K}'=ekG5ydaJ$N:FI:,f_LT@V[]HF@*vl?|q"GL1j&%e(CyYPqY%W|@z}]b 4_1N{G2&j6UWt_#%sT2C}s1P8J<gV24_RWgMuyVOjz=zS!12@Q#@^~@Wk@.YLbKxS:g9?J^;7ju?B\yC5 x,ZApKS54}kx_iMf4|su>=[{XSV#{,j5QU.v5LFHXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4ZG4>8PR2'L?\gk,4X[-%T\FC)jj0jl_x<xL8E:G2-"T8&E}"sE+SH[7jR%@V)a{m8K>.rAO 2[dq7GX9z8p4}^n@q|dF%<.Tl8)Dk?O.<UoEak_=4u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQE_t#&^IOov7v8 ~j#I#OHgxg{ZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;3LI!26gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2nIYP9 8A3P[*!SH2*SN8'V?w4Ufx2HAz%{}FlUdH31TJ5:ge^N91^;9GjUqf'$_|8P"kHR1w.ASwmNU-~q"[XcWbqPnns
dZoPJ}$Xc2lA>HN28(y+UAsQ=?KE7=\FVN(#?&hRabS%BVI<O$o4x5ZFFLGDcA4?&Eh~Z$oBWwNSNv^;vO' &9egng~L#\QkfMG?Sn@%-VA[?f9K&3"V%P#Sv!D<,GV:Z;3c&zFe^k&^0b7fAjvrbMc^Lq7k$h=YL<h7<0\NK>~Q=uUv)
4cI$.'b-RVS-=rom:=QR=c>9m-^5F[XGv>E/>|]~]3{r{kTc?ee1v=;I7]52#NE)~A;}!z>?hi{5<9FtWH6{VO_Y-Jy Mw>{l8n#mD,kl'8cG^.7sy=QqU-3~SKG5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xu5^0^fO6?2IdCn_C lPKaJ6]0t!u>v8<'Vby]8kEHh04p(YI)&7w82BrGB3PkI,s+%7ux5)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?;'fxH3JWYE Z.[N[KCY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC>)z:k=C\0v{7#+2,*%]>~vI2^C:2DebJR>.ESw^wN<~]O9sOQ _yvIw&Ryf%JgT@W(G1wfU34G3U}x1jKJzJY\S9n$2~P;F}*eT9UXcTNBTrTs>~0v_O.y8ofX6i5u$;'^"q][QhTb*gO[U n'R0vr+9fv5G7Bg=D:c*a=1[}7}dYOO{Mz&@6jnNq.QcBDM9Dd=R.*=MqZ3#'{AJJFqx<{qb':BH8ig1L%T\Vuc" h$i3,sX'hqpbw"=nY*Lu:hwR{+-\^3cQkIWfq)3?&p;~pvDW$o7\O|RrB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv  • Correctness verified. – Martin Ender Jan 29 '15 at 23:05 # 34. Zsh, 2 moved, 10 added |echo 34;21//20()(*@29(*/say56#\.@ 6| | 33 ; :";8<<print | | i alertprint | | \'0 ; ' | | + MsGBOX$            |
|~                        }oh xcdddk*#p]27p    /*[$| | /** puts+11 | | 12!$>{:                  PrintLn(30);                                    |
|                             +                                                                  |
|                             n                                                                  |
|                             '        };                                                        |
|                             +                                                                  |
|                            :Disp                                                               |
|                             '                                                                  |
|                             10                                                                 |
|                             !                                                                  |
|               23$'main'".3i | | iipsp25. 7 if | | a= O )${|
|  @*/echo 28  + 4            ;  #*)#    xx                            022-3                   9|


### Remaining pieces:

-^=v^EjW8xNOIStmjO%YRJ;J!|o77R&<c"KIe%FY^?I=];Yx))Ik%_a<E6<yv5O*$k): KNGq)2Wa%b)j"(6U|[UY@lCSJu0RH!z,v}=GvRgkEZ=YT:4H44bz]C<](FF?AyvX~5QMF)0vaXsk@ Zj.{lPBKHABvEP%FSw>u_4B^AI8K&5]vXZJ{fCF]UVZ<!ZOI$7Y%@:%HwPsX-/l]ZZ?Q/d\M<T@tz
{[vg:6ECT&vU4Heb^;0AV|?}M0rAH^DL"RkT%[VUlM]-&We4(P=6},hL~:yty.W[gOWcL~b:Ryj0*eN<
&-FF=oh0k[NI!xS"]pA@Y;K}'=ekG5ydaJ$N:FI:,f_LT@V[]HF@*vl?|q"GL1j&%e(CyYPqY%W|@z}]b 4_1N{G2&j6UWt_#%sT2C}s1P8J<gV24_RWgMuyVOjz=zS!12@Q#@^~@Wk@.YLbKxS:g9?J^;7ju?B\yC5 x,ZApKS54}kx_iMf4|su>=[{XSV#{,j5QU.v5LFHXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4ZG4>8PR2'L?\gk,4X[-%T\FC)jj0jl_x<xL8E:G2-"T8&E}"sE+SH[7jR%@V)a{m8K>.rAO 2[dq7GX9z8p4}^n@q|dF%<.Tl8)Dk?O.<UoEak_=4u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQE_t#&^IOov7v8 ~j#I#OHgxg{ZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;3LI!26gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2nIYP9 8A3P[*!SH2*SN8'V?w4Ufx2HAz%{}FlUdH31TJ5:ge^N91^;9GjUqf'$_|8P"kHR1w.ASwmNU-~q"[XcWbqPnns
dZoPJ}$Xc2lA>HN28(y+UAsQ=?KE7=\FVN(#?&hRabS%BVI<O$o4x5ZFFLGDcA4?&Eh~Z$oBWwNSNv^;vO' &9egng~L#\QkfMG?Sn@%-VA[?f9K&3"V%P#Sv!D<,GV:Z;3c&zFe^k&^0b7fAjvrbM^Lq7k$h=YL<h7<0\NK>~Q=uUv
4cI$.'b-RVS-=rom:=QR=c>9m-^5F[XGv>E/>|]~]3{r{kTc?ee1v=;I7]52#NE)~A;}!z>?hi{5<9FtWH6{VO_Y-Jy Mw>{l8nmD,kl'8cG^.7sy=QqU-3~SKG5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xu5^0^fO6?2IdCn_C lPKaJ6]0t!u>v8<'Vby]8kEH04p(YI)&7w82BrGB3PkI,s+%7ux5)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?'fxH3JWYE Z.[N[KCY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC>)z:k=C\0v{7#+2,*%]>~vI2^C:2DebJR>.ESw^wN<~]O9sOQ _yvIw&Ryf%JgT@W(G1wfUG3U}x1jKJzJY\S9n$2~P;F}*T9UXcTNBTrTs>~0v_O.y8fX6i5u$;'^"q][QhTb*gO[U n'R0vr+9fv5G7Bg=D:c*a=1[}7}dYOO{Mz&@6jnNq.QcBDM9Dd=R.*=MqZ3#'{AJJFqx<{qb':BH8ig1L%T\Vuc" h$i3,sX'hqpbw"=nY*Lu:hwR{+-\^3cQkIWfq)3?&p;~pvDW$o7\O|RrB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv  • Correctness verified. – Martin Ender Jan 31 '15 at 11:38 # 35. TECO, 1 moved, 5 added |35=EX34;21//20()(*@29(*/say56#\.@ 6| | 33 ; :";8<<print | | i alertprint | | \'0 ; ' | | + MsGBOX$            |
|~                        }oh xcdddk*#p]27pecho/*[$| | /** puts+11 | | 12!$>{:                  PrintLn(30);                                    |
|                             +                                                                  |
|                             n                                                                  |
|                             '        };                                                        |
|                             +                                                                  |
|                            :Disp                                                               |
|                             '                                                                  |
|                             10                                                                 |
|                             !                                                                  |
|               23$'main'".3i | | iipsp25. 7 if | | a= O )${|
|  @*/echo 28  + 4            ;  #*)#    xx                            022-3                   9|


Remaining Pieces

-^v^jW8xNOIStmjO%YRJ;J!|o77R&<c"KIe%FY^?I=];Yx))Ik%_a<E6<yv5O*$k): KNGq)2Wa%b)j"(6U|[UY@lCSJu0RH!z,v}=GvRgkEZ=YT:4H44bz]C<](FF?AyvX~5QMF)0vask@ Zj.{lPBKHABvEP%FSw>u_4B^AI8K&5]vXZJ{fCF]UVZ<!ZOI$7Y%@:%HwPsX-/l]ZZ?Q/d\M<T@tz
{[vg:6ECT&vU4Heb^;0AV|?}M0rAH^DL"RkT%[VUlM]-&We4(P=6},hL~:yty.W[gOWcL~b:Ryj0*eN<
&-FF=oh0k[NI!xS"]pA@Y;K}'=ekG5ydaJ$N:FI:,f_LT@V[]HF@*vl?|q"GL1j&%e(CyYPqY%W|@z}]b 4_1N{G2&j6UWt_#%sT2C}s1P8J<gV24_RWgMuyVOjz=zS!12@Q#@^~@Wk@.YLbKxS:g9?J^;7ju?B\yC5 x,ZApKS54}kx_iMf4|su>=[{XSV#{,j5QU.v5LFHXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4ZG4>8PR2'L?\gk,4X[-%T\FC)jj0jl_x<xL8E:G2-"T8&E}"sE+SH[7jR%@V)a{m8K>.rAO 2[dq7GX9z8p4}^n@q|dF%<.Tl8)Dk?O.<UoEak_=4u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQE_t#&^IOov7v8 ~j#I#OHgxg{ZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;LI!26gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2nIYP9 8A3P[*!SH2*SN8'V?w4Ufx2HAz%{}FlUdH31TJ5:ge^N91^;9GjUqf'$_|8P"kHR1w.ASwmNU-~q"[XcWbqPnns
dZoPJ}$Xc2lA>HN28(y+UAsQ=?KE7=\FVN(#?&hRabS%BVI<O$o4x5ZFFLGDcA4?&Eh~Z$oBWwNSNv^;vO' &9egng~L#\QkfMG?Sn@%-VA[?f9K&3"V%P#Sv!D<,GV:Z;3c&zFe^k&^0b7fAjvrbM^Lq7k$h=YL<h7<0\NK>~Q=uUv
4cI$.'b-RVS-=rom:=QR=c>9m-^5F[XGv>E/>|]~]3{r{kTc?ee1v=;I7]52#NE)~A;}!z>?hi{5<9FtWH6{VO_Y-Jy Mw>{l8nmD,kl'8cG^.7sy=QqU-3~SKG5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xu5^0^fO6?2IdCn_C lPKaJ6]0t!u>v8<'Vby]8kEH04p(YI)&7w82BrGB3PkI,s+%7ux)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?'fxH3JWYE Z.[N[KCY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC>)z:k=C\0v{7#+2,*%]>~vI2^C:2DebJR>.ESw^wN<~]O9sOQ _yvIw&Ryf%JgT@W(G1wfUG3U}x1jKJzJY\S9n$2~P;F}*T9UXcTNBTrTs>~0v_O.y8fX6i5u$;'^"q][QhTb*gO[U n'R0vr+9fv5G7Bg=D:c*a=1[}7}dYOO{Mz&@6jnNq.QcBDM9Dd=R.*=MqZ3#'{AJJFqx<{qb':BH8ig1L%T\Vuc" h$i3,sX'hqpbw"=nY*Lu:hwR{+-\^3cQkIWfq)3?&p;~pvDW$o7\O|RrB2{PX.s#G6A.s<OA_,TI_b*&lO@L3KrQv  • Correctness verified (using mung in the Linux version). – jimmy23013 Feb 3 '15 at 15:22 # 36. bc, 1 moved, 7 added |36# 35=EX34;21//20()(*@29(*/say56#\.@ 6| | quit 33 ; :";8<<print | | i alertprint | | \'0 ; ' | | + MsGBOX$            |
|~                            }oh xcdddk*#p]27pecho/*[$| | /** puts+11 | | 12!$>{:              PrintLn(30);                                    |
|                                 +                                                              |
|                                 n                                                              |
|                                 '    };                                                        |
|                                 +                                                              |
|                                :Disp                                                           |
|                                 '                                                              |
|                                 10                                                             |
|                                 !                                                              |
|               23$'main'".3i | | iipsp25. 7 if | | a= O )${|
|  @*/echo 28  + 4                ;  #*)#xx                            022-3                   9|


### Remaining pieces:

-^v^jW8xNOIStmjO%YRJ;J!|o77R&<c"KIe%FY^?I=];Yx))Ik%_a<E6<yv5O*$k): KNGq)2Wa%b)j"(6U|[UY@lCSJu0RH!z,v}=GvRgkEZ=YT:4H44bz]C<](FF?AyvX~5QMF)0vask@ Zj.{lPBKHABvEP%FSw>u_4B^AI8K&5]vXZJ{fCF]UVZ<!ZOI$7Y%@:%HwPsX-/l]ZZ?Q/d\M<T@tz
{[vg:6ECT&vU4Heb^;0AV|?}M0rAH^DL"RkT%[VUlM]-&We4(P=6},hL~:yty.W[gOWcL~b:Ryj0*eN<
&-FF=oh0k[NI!xS"]pA@Y;K}'=ekG5ydaJ$N:FI:,f_LT@V[]HF@*vl?|q"GL1j&%e(CyYPqY%W|@z}]b 4_1N{G2&j6UWt_#%sT2C}s1P8J<gV24_RWgMuyVOjz=zS!12@Q#@^~@Wk@.YLbKxS:g9?J^;7ju?B\yC5 x,ZApKS54}kx_iMf4|su>=[{XSV#{,j5QU.v5LFHXs%DYm4'+efmU;\}f6j$SFCRCGsd37:'$q=bs;lvsW0Yj^:- I[94@I|.IpR=}4KB4ZG4>8PR2'L?\gk,4X[-%T\FC)jj0jl_x<xL8E:G2-"T8&E}"sE+SH[7jR%@V)a{m8K>.rAO 2[dq7GX9z8p4}^n@q|dF%<.Tl8)Dk?O.<UoEak_=4u!h$^bVd:$jS#EHFh@Z=y=ib^~/~lEJ^SQE_t#&^IOov7v8 ~j#I#OHgxg{ZDyCsq-(GVq}HbiG,JV?eJ~5wJ;bSt@;LI!26gIT92>}_dw;YF@ccTIEz\Gu@2(}J2I1"S{R(2nIYP9 8A3P[*!SH2*SN8'V?w4Ufx2HAz%{}FlUdH31TJ5:ge^N91^;9GjUqf'$_|8P"kHR1w.ASwmNU-~q"[XcWbqPnns
dZoPJ}$Xc2lA>HN28(y+UAsQ=?KE7=\FVN(#?&hRabS%BVI<O$o4x5ZFFLGDcA4?&Eh~Z$oBWwNSNv^;vO' &9egng~L#\QkfMG?Sn@%-VA[?f9K&3"V%P#Sv!D<,GV:Z;3c&zFe^k&^0b7fAjvrbM^Lq7k$h=YL<h7<0\NK>~Q=uUv
4cI$.'b-RVS-=rom:=QR=c>9m-^5F[XGv>E/>|]~]3{r{kTc?ee1v=;I7]52#NE)~A;}!z>?h{5<9FWH6{VO_Y-Jy Mw>{l8nmD,kl'8cG^.7sy=QqU-3~SKG5(.Ta]:-Vfr'NS$o*q:w6e$&7spk3{CFT'l_hGY0-0Xu5^0^fO6?2IdCn_C lPKaJ6]0t!u>v8<'Vby]8kEH04p(YI)&7w82BrGB3PkI,s+%7ux)gauG!8F8hLa4[lfD55Xf3Hqy*-K,?'fxH3JWYE Z.[N[KCY@TzKX4TMXsm{Xbd:B3)Gy[mlwnC>)z:k=C\0v{7#+2,*%]>~vI2^C:2DebJR>.ESw^wN<~]O9sOQ _yvIw&Ryf%JgT@W(G1wfUG3U}x1jKJzJY\S9n$2~P;F}*T9UXcTNBTrTs>~0v_O.y8fX6i5u$;'^"q][QhTb*gO[U n'R0vr+9fv5G7Bg=D:c*a=1[}7}dYOO{Mz&@6jnNq.QcBDM9Dd=R.*=MqZ3#'{AJJFqx<{qb':BH8ig1L%T\Vc" h$i3,sX'hqpbw"=nY*Lu:hwR{+-\^3cQkIWf)3?&p;~pvDW\$o7\O|RrB2{PX.sGA.s<OA_,TI_b*&lO@LKrQv
`

Uninteresting.

• Can someone verify this? – Ypnypn Feb 13 '15 at 1:00