304
\$\begingroup\$

This is an challenge in which each answer builds on the previous answer. I recommend sorting the thread by "oldest" in order to be sure about the order in which the posts are made.

Note: This has become quite a long-lasting challenge, and posting new answers is fairly difficult. As such, there's now a chat room available for this challenge, in case you want advice on a particular part of a potential answer, have ideas for languages that could be added, or the like. Feel free to drop in if you have anything to ask or say!

The task

The nth program to be submitted must run in n different languages; specifically, all the languages added in previous programs to be submitted, plus one more. The program must output 1 when run in the first language used in answers to this question, 2 when run in the second language, and so on. For example, the first answer could print 1 when run in Python 3, and the second answer could output 1 when run in Python 3 and 2 when run in JavaScript; in this case, the third answer would have to output 1 when run in Python 3, 2 when run in JavaScript, and 3 when run in some other language.

Additional rules

  • Your program must run without erroring out or crashing. Warnings (and other stderr output) are acceptable, but the program must exit normally (e.g. by running off the end of the program, or via a command such as exit that performs normal program termination).

  • The output must be only the integer, but trailing newlines are OK. Other unavoidable stdout output is also allowed. Examples: interpreter name and version in Befunge-93, space after printed string in Zephyr. Some languages provide two methods of printing – with and without trailing space; in this case method without trailing space must be used.

  • Each answer must be no more than 20% or 20 bytes (whichever is larger) longer than the previous answer. (This is to prevent the use of languages like Lenguage spamming up the thread, and to encourage at least a minor amount of golfing.)

  • Using different versions of the same language is allowed (although obviously they'll have to print different numbers, so you'll need to fit a version check into the polyglot). However, you may not use a language feature that returns the language's version number. Repeating the exact same language is, obviously, impossible (as the program would have to deterministically print one of two different numbers).

  • Tricks like excessive comment abuse, despite being banned in some polyglot competitions, are just fine here.

  • You don't have to use the previous answers as a guide to writing your own (you can rewrite the whole program if you like, as long as it complies with the spec); however, basing your answer mostly on a previous answer is allowed and probably the easiest way to make a solution.

  • You cannot submit two answers in a row. Let someone else post in between. This rule applies until victory condition is met.

  • As this challenge requires other competitors to post in the same languages you are, you can only use languages with a free implementation (much as though this were a contest).

  • In the case where a language has more than one interpreter, you can pick any interpreter for any given language so long as all programs which are meant to run successfully in that language do so in that interpreter. (In other words, if a program works in more than one interpreter, future posts can pick either of those interpreters, rather than a post "locking in" a particular choice of interpreter for a language.)

  • If some interpreter gets updated and the program no longer works in the newer version then new answers can either stick to the old version or fix the program to work in the new version.

  • This challenge now uses the new PPCG rules about language choice: you can use a language, or a language interpreter, even if it's newer than the question. However, you may not use a language/interpreter that's newer than the question if a) the language was designed for the purpose of polyglotting or b) the language was inspired by this question. (So newly designed practical programming languages are almost certainly going to be OK, as are unrelated esolangs, but things like A Pear Tree, which was inspired by this question, are banned.) Note that this doesn't change the validity of languages designed for polyglotting that are older than this question.

  • Note that the victory condition (see below) is designed so that breaking the chain (i.e. making it impossible for anyone else to answer after you via the use of a language that is hard to polyglot with further languages) will disqualify you from winning. The aim is to keep going as long as we can, and if you want to win, you'll have to respect that.

Answer format

As all the answers depend on each other, having a consistent answer format is going to be helpful. I recommend formatting your answer something like this (this is an example for the second link in the chain):

2. JavaScript, 40 bytes

(program goes here)

This program prints 1 in Python 3, and 2 in JavaScript.

(if you want to explain the program, the polyglotting techniques, etc., place them here)

Victory condition

Once there have been no new answers for 14 days, the winner will be whoever posted the second newest answer, i.e. the largest polyglot that's been proven not to have broken the chain. Extending the chain after that is still very welcome, though!

The winner is Chance, see answer 194 (TemplAt).

Language list

// This snippet is based on the snippet from hello world thread https://codegolf.stackexchange.com/questions/55422/hello-world
// It was tested only in Google Chrome

// https://stackoverflow.com/a/4673436
if (!String.prototype.format) {
  String.prototype.format = function() {
    var args = arguments;
    return this.replace(/{(\d+)}/g, (match, number) => (typeof args[number] != 'undefined' ? args[number] : match) );
  };
}

var QUESTION_ID = 102370; // from the question url
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";

function answersUrl(index) {
  return "https://api.stackexchange.com/2.2/questions/" +  QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER;
}

var answers = [], answer_page = 1;

function getAnswers() {
  jQuery.ajax({
    url: answersUrl(answer_page++),
    method: "get",
    dataType: "jsonp",
    crossDomain: true,
    success: function (data) {
      answers.push.apply(answers, data.items);
      if (data.has_more) { $('#status').text($('#status').text() + '.'); getAnswers(); }
      else process();
    },
    // [Documentation](http://api.jquery.com/jquery.ajax/) states that `error` handler is not called for cross-domain JSONP requests, 
    // but it works here, probably because api.stackexchange.com and codegolf.stackexchange.com are on the same domain.
    error:  function (a,b,c) { 
      $('#status').text( "Failed to load answers: " + b + " " + c );
      console.log( b + " " + c );
    },
  });
}

getAnswers();

// https://stackoverflow.com/questions/6290442/html-input-type-text-onchange-event-not-working/39834997#39834997
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event
const input = document.querySelector('input');
input.addEventListener('input', onSearchInput);

function onSearchInput(e)
{
    var table = document.getElementsByTagName("table")[0];
    var str = e.srcElement.value.toLowerCase();
    var num_results = 0;

    if(str == "") // optimization for empty input
    {
        // show all rows
        for(var i = 1, row; row = table.rows[i]; i++)
        {
            row.className = "";
            num_results++;
        }
    }
    else
    {
        for(var i = 1, row; row = table.rows[i]; i++)
        {
            var hidden = row.innerText.toLowerCase().indexOf(str) == -1;
            if(!hidden) num_results++;
            row.className = hidden ? "hidden" : "";
        }
    }
    document.getElementById("results").innerText = "Results: " + num_results;
}


/* Function ParseHeader() extracts answer number, language name and size of polyglot from answer header.
   Argument: `header` - answer header string without markup, eg. "1. Python 3 (8 bytes)" or "59. Tcl, 1324 bytes".
   Retval:  object, eg. {num: 1, language: "Python 3", size: 8} or 
            null if header has wrong format
  
   There are two formats of header, new one with comma and old one with parens.
   Parsing new format only with regexp is hard because:
   - language name may contain commas,                                 eg. "51. Assembly (x64, Linux, AS), 1086 bytes"
   - there may be several sizes, of which the last one should be used, eg. "210. Haskell without MonomorphismRestriction, 10035 9977 bytes"

   There are only several answers with old format header: 1-5, 7, 12-17, 21. All of them have single size and don't have parens in language name,
   so they can be parsed with simple regexp.
   
   Algorithm: Find commas. If there are no commas parse it as old format. Otherwise parse it as new format.
   New format parsing: Let everything after last comma be `sizes`. Check if `sizes` ends with the word "bytes". If not, set size to 0.
   Take the word before "bytes" and convert it to number. Parse the rest of the header (before last comma) with regexp.
*/
function ParseHeader(header)
{
  var a = header.split(',');
  if(a.length > 1) // current format: Number "." Language "," Size+ "bytes"
  {
    // filter(s=>s) removes empty strings from array (handle multiple consecutive spaces)
    var sizes = a[a.length-1].split(" ").filter(s=>s); // " 123 100  bytes " -> ["123", "100", "bytes"]
    var size;
    if(sizes.length < 2 || sizes[sizes.length-1] != "bytes") size = 0;
    else size = +sizes[sizes.length-2];

    a.splice(a.length-1,1); // remove last element
    var match = a.join(',').match(/(\d*)\.(.*)/);
    if (!match) return null;
    return{
            num: +match[1],
            language: match[2].trim(),
            size: size,
          };
  }
  else // old format: Number "." Language "(" Size "bytes" ")"
  {
    var format = /(\d*)\.([^(]*)\((\d*)\s*bytes\)/;
    var match = header.match(format);
    if (!match) return null;
    return{
            num: +match[1],
            language: match[2].trim(),
            size: +match[3]
          };
  }
}

// 1533246057 (number of seconds since UTC 00:00 1 Jan 1970) -> "Aug 2 '18"
// other useful Date functions: toUTCString, getUTCDate, getUTCMonth, getUTCFullYear
function FormatDate(n)
{
  var date = new Date(n*1000); // takes milliseconds
  var md = date.toLocaleDateString("en-US", {timeZone:"UTC", day:"numeric", month:"short"});
  var y  = date.toLocaleDateString("en-US", {timeZone:"UTC", year:"2-digit"});
  return md + " '" + y;
}


var processed = []; // processed answers, it's called `valid` in original snippet

function ProcessAnswer(a)
{
  var body = a.body, header;

  //
  // Extract header from answer body.
  // Try find <h1> header (markdown #). If not found try find <h2> (markdown ##).
  // Extracted header contains only text, all markup is stripped.
  // For 99 language markup is later readded to language name because markup is essential for it.
  //
  var el = document.createElement('html'); // dummy element used for finding header
  el.innerHTML = body;
  var headers = el.getElementsByTagName('h1');
  if(headers.length != 0) header = headers[0].innerText;
  else {
    headers = el.getElementsByTagName('h2');
    if(headers.length != 0) header = headers[0].innerText;
    else { console.log(body); return; } // error: <h1> and <h2> not found
  }

  var info = ParseHeader(header)
  if(!info) { console.log(body); return; } // error: unrecognised header format

  if(info.num == 99 && info.language == "99") info.language = "<i>99</i>";

  processed.push({
    num:         info.num,
    language:    info.language,
    size:        info.size,
    answer_link:   a.share_link,
    user:          a.owner.display_name,
    user_link:     a.owner.link,         // `undefined` if user was deleted
    creation_date: a.creation_date,      // unix epoch (number of seconds since UTC 00:00 1 Jan 1970)
  });
}

function process()
{
  $('#status').remove();

  answers.forEach(ProcessAnswer); // answers -> processed
  
  processed.sort( (a,b)=>(a.num-b.num) ); // sort by answer number, ascending

  processed.forEach(function (a) {
    
    var date = FormatDate(a.creation_date);

    var user = a.user_link ? ('<a href="'+a.user_link+'">'+a.user+'</a>') : a.user; // redundant code, currently the only deleted user is ais523
    if(user == "user62131") user = '<a href="https://chat.stackexchange.com/users/246227/ais523">ais523</a>';

    var style = (a.num == 194) ? "background: #ccf" : ""; // 194 is winner answer

    var row = "<tr style='{0}'><td>{1}</td> <td><a href='{2}'>{3}</a></td> <td>{4}</td> <td>{5}</td> <td>{6}</td></tr>"
              .format(style, a.num, a.answer_link, a.language, a.size, user, date);

    $('#answers').append( row );
  });
}
a {text-decoration:none}
a:visited {color:#00e}

table, td, th { border: 1px solid black; }
td, th { padding-left: 5px; padding-right: 5px; white-space: nowrap; }
tr:hover { background-color: #ff9; }
td:first-child  { text-align:center; } /* # */
td:nth-child(4) { font-style:italic; } /* author */
td:nth-child(5) { text-align:right;  } /* date */

p { margin: 8px 0px }
.hidden { display: none } /* search hides rows */
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
  <span>Search: </span><input autofocus> &nbsp;<span id="results"></span>
</p>
<table class="answer-list">
  <thead>
    <tr><th>#</th> <th>Language</th> <th>Size (bytes)</th> <th>Author</th> <th>Date</th></tr>
  </thead>
  <tbody id="answers">
  
  </tbody>
</table>
<div id="status">Loading answers...</div>

\$\endgroup\$
28
  • 4
    \$\begingroup\$ For people who can see deleted posts: the Sandbox post was here. \$\endgroup\$
    – user62131
    Commented Dec 6, 2016 at 19:00
  • 6
    \$\begingroup\$ There's no need to copy the previous program, although of course you can use it as a guide; redoing the program from scratch is likely to take longer! There's no need to permalink to answers; sorting by oldest will show all the answers in order already. \$\endgroup\$
    – user62131
    Commented Dec 6, 2016 at 19:44
  • 4
    \$\begingroup\$ @ais523 I think what was meant was that should new answers contain try it links with the new code? \$\endgroup\$
    – Blue
    Commented Dec 6, 2016 at 19:45
  • 7
    \$\begingroup\$ I think we need a script that takes a hex dump of the code and automatically runs it in all the languages... \$\endgroup\$
    – mbomb007
    Commented Dec 7, 2016 at 20:05
  • 5
    \$\begingroup\$ This is the Versatile integer printer posted as a different type of challenge. (Inspiration?) The final answer (currently) would score 0.0127, only beaten by Sp3000's 30 language submission... :) \$\endgroup\$ Commented Dec 17, 2016 at 12:11

451 Answers 451

1
3 4
5
6 7
16
8
\$\begingroup\$

230. COBOL (GNU), 10800 bytes

"Click 'Run code snippet' for a 'Try it online!' link."; h='https://tio.run/##7L1rcyNLdiD2mVj/A39JArwNFIACUCBBggCBbjYft3mH3eSQ7Nv3DslGF4ACUc1CFbqqQALN5o3RrGOsWSkc2tmxQg/v3pFsrWXvRqzCYUdoY7WxEdLXDcX@htYnh8Lh@QfyOSczqwovkn1nRrIdAglUVubJk5knT548J59N3ev@3d8l8MMOHWt0YTk@8w3PZ23XvDLcHHs6Yk900ysVl2MxhNp0LwY9w/a9SizBNMZs45rt2S2zDX7Mdy4N23xvuBBWZKzvOheu3mN@V/fhxYRYbNuwPvQ@@Kzl9Hq63fYAcpmxQx0CO4PWJdObnu/qLd90bAhaYeylbem9ZltnAGG4fdfwCX2JsQ2j1/dHdXhZZey543oGptgyPM9BiLUoRBkgdNd09jdffD6BaZ2xz3XITN8yhhPJawX2yjTc9kQMTWNfnuzuTvoW2fdUx2a7WIyJoGX20vV0S5/Ev8I2B76z50/6l9jmhWHrrJhbzxUnA1fZU1efirLGXENvd0zLyJl2i6msa1h9w2XowzqOC7XkG1a5UC40NsOYuRbGLYeBE2hr8sN098KDQOfKAKcB9dc3jTbruE6P6bZ3DSlp64UQHtGuM2t52Z@gRbEQqZaiFn0pRl@Woy8rTNtvTLJAsYS@mwd7k/6rrLg/6bcGOW5ddqbrplhmR05/NOm7zp6b@7MYb7nAdnrOW3PLaUOZJ8KixVkujjeAFtQPNC321oOstA3m2Wa/b/g8EGrbcCkYCM8s076M8fZ26DrtQcu0LwDOgOT6A5@q1Iu1IFqd9UWrzaGDJYgJOBhk4djpGdEsetBcodK8vtEyO2aL84Yx9A3bg@r2cswE8lyblsXahgURQuytLPMcNvAiXk1L7@ZauRjyFqbCepcWM1mr32c8CIoBWdotlJmBBGPvIdzqemzY7zHP7EGw33I6HcNg741@F6LH2k6MwafVnyhW8LZkAIxtSNIYfWjTSBoHSQ10khS6dnWgresJGvhmDyhr@kmPGbpnonyDKJ5ht4mq/UDyOcDLUYKxKxPaLBR94BJuz3Cp1RBeaGGuASj1oJ5T167pAzWRGpvs0NBdduIahsLr2PBaeh9rOJokJOZgCj4WJEeVurGR3DnYTULl8hg5vQ@V6S6ffP@LmM5yNbbUqMK3Fo9XYzsvttnN0hm6uYQFBui7KV1htW@Ylz87M@A71Jr5C/c2BlhjQBWL5Z2@n9fVPmRQ9SGDeR2d6FKvirm@FUmYbUzURYTlOFQbagPkB/sySyVrDVwX@4KQqPolFNpy7AugJxTWHdhID5utFqAKWg50AllmXAHVQHhSHTnXROGTrgmV5mGVRIQS756IoNBBARsLisp0PccaEBzE9HzkZaAKREWMex32JevopoVRIBxR8Vy7hjewfIwzsNtY8z3TNto5JrNBLdYFPr6C5HRASh7A@r1Iu6RMATBUhENFxaCPv/OH7YsLwLPZajluW7Drl6zttKgj1Smz0BUyZFjH1i3KFsBlMXUeHRK40i2zTRJCt0ciCcoEpXrtDKw2cyBB99qEVtrVQU4b0LhavsGZ3Bn4kMcs6@mXXJqYnHOh4D29CRVLCVDaVGyVPdmCWmoZsQTxjNob@J0yU/s7LOnlX6ceV1KPF88MyJySU9JL@fxFFRgulyYveEvexTlfbo71Mp6ve47ZjvVHftexi0xtsXir5vQNO5Ucw5HMJt1mUsmhlEspVbPWynVMu51KbgAv1iHhpFJt1VqnZuW8OhE9miSguUY02FyNVEuJx0DkUKO4yvdAFclBf/ClKlyRMMdrIMkxOBfxRsJM@l1xjwQpOsiXDjIIyKGcZxlGP1XIaQqKCYSbWW4MmFXSCRyiwBXzPJNMJDPRohMGKOlYQbGxnpgOii2r38XuEIhie33oCVzk3ZYO3ONhh@CDAphlTeJr6kVAspBMvDaSoAA0QZBKPqImyZscxldRUAoMYRMab8lGO9KQQQhAW/a9KWlsOahYUJ6wmwHRYWOi@gVUDUTmBdnkBeEpkc94kS5tECiIrWmwsto0oRFgcwOZLng@UjYAXy5yGMDGG0lE9vT0EWBp8W41bDDM7EBb6oF4cEesZaDMAeFj8A4FExlQ@/NAS2ZOhxXUYqk03sammpjv5jfVH4CQfp@/syVh4aONCQUN64BSbun2xUC/AHnh2BBFb7WMvi8EFZTE80EUTfY35KmKzjPndWNLTybTpk5EqhZhGijkee2JrlBH6SKUfBX0GdQaueXA2qYLYskaTaYOAFcTicffIMhYBt7E52RBagDAZMbQaA18kGrAwNdds9UFnsXc2Vwu8k5oMnnwiqYOkl3tBEljZrT6o2Islw@8MBtzUahYo9N4oHNFVPUxD6r8qMfdmHWvNwOxE2QROoKIby6v54D37sHZc2xnBlIgZIAWQcZDeD2AJnaMCiV0XFLtosYaaJlBFUGdgdSAlg/81/X9vleBfsL0u4NmDjglf@KO9vwDG5kl77sj03e4u2k5TRDLHrTPvEwh3xo0zeFEgcgvqMO3XuwKFLCOx2rQc78bANelkh0PBCb5byFwJChOgptQ8N84ABJQDgiV6ngkindBqByP7FYqPsaU8SyLY9uNK@DAiAFpvkDlbTybb8FrMpcIFs1MLo9Qec9tkUON6KSIHsEpW7GFsaI9MI@xhXgcfjq65RnwtAeWha8Dm0u5FNcVFHYTW1gA0Zai5Mxe3zJbpt/goezRI6FTsEUwD1Ft6qDOpECcBWGH50CgAIzofjh0zneOSdlNKVCQhduxhA3XdVyert91nWtGHggWixJ1y@mhdGevSOFCDRosYtNG6070pdSV6jNViKBPJX05mcy9dUw7dZNcXFxMVpJ16DEXFx@DawNdj9GVAddjcqnkQrgcuihGllwYekox0O88eXsqMQ@Vc2wOQ@zt35v9lH5aqSyfZ/VTTTyL@FSAztBjALSKD8CTVGo1dCpKvH4NBc01O@Ol38Je77jlmn1BhC/0K52/CyosExmg4hwXDYMqKi9306RXc0G7AGOg1U25ybPTwtn52c1ZO3N2m8xibKWq15pQKEgv1ctduM4A1BDldKWiaueKcroMykezliwk06lUWbUgIV1RPisrGZ1TO5U0oDdMnZ0lgaiCPqetrkv4htmiogSkgnygwgO6diqZuylD@k3lXMkkIa6SzILpVksmgTItJIJHhca2NEagg6PvccJsZTIxat6Oe4nfqe4U/HJguI5HPxy8f4@yi@NoBhxmDXSu5fUFQH7PlrA5DJwwXmVQs8NQjlIauyB7to7HRyl6l9AzspZnoRqpujwNeM2nuWebHoG2XGF7ZG3YoCoBlUBTagdWre3YKrZqaZg40YTIlEcI8kO9AftEcwwGEXfMIRh3ILNHUolF3Qv12C3HBjPLyL2idh1nIJJwzMLIzdRkD7lKkGt5IZ@BzgrOvqW3QHKNozuLszNACG0pn58dolSnEE@quWSR3ldGUApauo30a5tkcQ1Mr4vkBa0Y5ZnbAaqiuQV6nUFU22Mt0NcugNLG0PS5/QW8eoxRnuleSkGNf5NrzKioo7aHmZLjN6SKOS2wVQ3Q@jCUG/5sx74yXcdGIud2ADU0qirWwQTyWeQFNtrc3Ctuz6fvLORAsSlvLULbKNZJ4ra8FsvbjuVcOCwNAMiauRxn7D0bx7lAX/f1PhgS5nsi0OaFY48meNAwgoHD1eXActIRMk/wubcgz9jsQocAc8p8vPeDHehQtVKhAPmXbwX6BIWMYJksI3q2WAggRr8t5BusyR8Y/e5obPwP@YOPAAA/OQZvmHxMRgdlCHIlWvh7ihpt5NwH2rkMakvXrLLvkHaLw1BRC3Gs9GP9Lm82UMLEhDf6SlKMIZ2q8LB@UXCd5cfkVmD0qp2e4@v5L3Ndj@FPDHU91WRxL59cTOZVFX/jFMSKdZZvG1d5lFIh5uGO0ZqJe2gYrTyGophm0jGTPDJwDmnO4GPTDxSTPyUNgpiT5b/IZJjq8NwFafNMQ3d10h0YMaPVdVj8DJTlaMni0Ld0wepTgfKgyqCGHUQTMyEx3xmAgdI2LLNn@ns0cmvZqIXnSHjnUGqJUBxzDhEcmgaoltx0DvscHF0NOyD7gsMfgSQnrGCs5jhJXaOdT4fYnjuOCxaSxzSyjosB6XsiIO94/XbOHwICHmtniHqFFzPoyV4cbO80DjdPntXyA8/NW2YTZETbaPTALLOgOcz5YN5wrGsHeMe0nZ4JJZIo319aR47j13gjubTYwz4JjChx7G839veeHm0efS0yh7g8szewdMxjZWkCIMBxTDB3omk5TcdSL@zBXEygTRw8PdiXWL54ub@32djeOTw4iaB5O7BMXRvm@5cX8wr0BYIwLVfgpD@w2uPj@mRwjdnDQtig9VBlYGUxVYVfFf14omhf5DAAlT3sHlUVxzN1HLF1WVErrK@3m3q5bKy2Wysrax29026vFLVyqVMuFUsF@FlbXTfYBwJXVWNIYxDg4vY9DoVgGpB5emi5FZGlQklvasbMTPGgO7JltMutcqmkG82VVkuHXLVWl42VTqGwvmIUi8ZKc6Wj6VqxeGe2eCpS3wITrwX602hmhoLQO/LUKpWMtZV1fb21vr6uF9fay3qxvGYYq2udlULBWNUKnWZZKy/fmadINlDRC996NLICMgCNcAoEUZyCx1jj5Jn3uqCvtIvF4mqr1FlfLrZLhZV2c71QKreb2preXDcKnZVlrai1W0WtIuPiSCXIrC6wTx5H2MDMlkGqBoFKTHbtUYajiT85GSzE39IyCry@nMxFhVwErGDAQEzl4pCn8F9F/x7O3eZasYtWC8UsvQaeArBMgDiFm3Ob0nMdPYPJ27FpTRDQQmrPCp8fSWC@0Qq3iPwap38j5bjRNPK/8judMe8ieV@q2IFaofcyefPJ3/FpV1HYqaCZwAG@FcLHJ41n4psKmgkc4CtxfDjZPBvdRMgs0ADZKiHDyemZuCYCZgAGmNYIU3RCOwwrU9i82WyR1szguZEC3OuEG2etQ1Q0hy28JGCR14NmNfRGr2eGwNInEsRUC7phbTWMXAoiOxNRHTP0DsA5WYtWA4ydQaSdSJ9oUBCJU1DOeUd5ssgJ6Dr9UaQp3RR52XumaKMR5l7mbYFmcdHkcccCOefz2e3GWz5D0hCT29jSufA4AZ153wFLZ9/EuYLOmDSJBVb/WSwuhy7GB6/CkGI4NcPUq9lzSvEoIi4oTfvSIWM9cDUKOa2EWAIUvUtrOmYHjEL6GQOdytR0CNc0es0O/cwAQPVocjSQAmioVShpoBTp@SN64KDrrByMDx@PJd80OgOwV/NN00b3PWDqepkgO82mOQ8UKIGLBeRzBliFHQ2aI1bMreQ0OUCB0zXQn/Gx35O9AwJs6mRuj885sDHi@wPXh1ji@Z9/2IZKmK6irj4iqz1wNGzjmvijM7fGRFR8oZ/ZtRvqZ0QYct2HsqXjNK9uBY7ZqKn2VbWruz00jkV1A4PiD3DCHbzGc@4a1qBtyOfsRCqMiDw@t8Fss8daM6AJdmIahidGwyGWo7eJDHzQwjQokouVzavBGHLzPaKagoiZl9CM2RIWLk/wuwN/wH9xRcJ91Wj28XtXE10Weh/YMXrTNO6ob1e/HLQdFdRxKi3maXUGbFhwGhtUO5Z@yZ0NdM4uOS@ba15cgJolnvPArrtggNLIQf6aHvexhGcPvL7ahHryoc3QG7WC3h0puBb/nQdiisV9gWM@1UyLfh5Q3wFfEaeApkuExtVHaoRo5gSZLb05wvGU7qczGCZI@iCIm1orkyksYw8aTDWH65z6/fnxsdul@Ovrs2PzdU@cJLNs4Dxf76Ty8Woqs1gBdU/FQp9l9nRLLbYjzrnCXI5Uh64ZoDS4prYs3QPW8kV1GFdQffRzF7tjp9QC29gNXXcwe5gdueJg3uS1kFiiQbccy/SwVVvzhOfkfF@YJq48o58wKr5NE7ZNKqbXVQPXbLngtHycOZ7DaA8QcHzSFqfFI5yTc@YRreVc43euVtF1rgz@O7uPez8zVw@QWKpFLGG2ZnYm7dZ9nIqrj@hnNh0vZ@bLb1kz/cfbgByHitqtD@Rrz7Qcjx3T711kATXa8/jvbI6OUtDUbZWmn6Lu2dFEpvosJ4bC59Srbl041mr5Iq/Dz9zKH7gd7BPE86HSL5Bemna/9JKqkWNr4jlX7F/m3cv76o7mj1xcIxBx3tEDzxJhYg50fgHBiMCFP7MLt1soU8xcng8vzKsAt9W91kfy@R16lnnUlT1Lf0SqNmh@GGG9DA7f5er3d0lt5e7U2g8TT1No1@4rRKRyLy0DOjL6napSVixonxhDKxQeLqw61sAYGDNl1UHzrYGrve8wQB6eqYIoxpIYksaBMhyQDqDeC9PxQbnGPhzf7hQwumVCI79X05kp7/qgnvfR2j4ExyE6piNe2IP@WOWOGXD20d2U6/Zly3baY5nEkE@VSOX79akxbd8z6HunXcXtQJyArC0XCgWh30QmGcZe7rK3loO4b03@O5Yw@YQpj42SzMAZjihDVZuXnopjuw@TRsV5xj8Br6/nbdM2/BH@zquCWdK16TjWp1QZCNm2ifoaaKE4G3df1U3pQmKxGQuHOTwcJGl25g1w8A5IGKJAPbSx76r96Aj0g6pVxXUE0CovJl7vHvKJjGfflwp06zSOhAu6hHuewU6DJ1qunFu7swVy9dVpGpbOH8PVlbvwreeW78QXqChCL6YJR5yk5NOS4TR3YkJO9UdALLMNRk3X6Bn0eoc1oLffDjz5mAs0dPA7IzhHk8Dz4vVNEAw2/o5NgUZUJ9@xwQzzdffCQDvGwqUKwneeMJaTDjOJu9fTLwy@4@suaRmOauDKZG79hc7Z4xsVvqitBdH4epy7WQEa06Ux8uRzJsLnoxbU56B3/6jcRLtv0Tqo@xp6Lj9zruUe3dDuOl27a3RdahzB27zmARzp8716dxUC8t/VvUtcik0yKjQDu16UupZjWQ@hLspILjEdpzMzXzu4jaoNUT8J70hvQoB43DviB/07EYk6@nltp2sMoJvyHN/pGyq9zQO1cICI/86TpHL@67uOPN05KgAUkc/viv9ee/RCd/x@nx6NvjXw6IeiqrT7bVZV7lIyD@EK0@frwTjvGhdOs9U178tS09B927zMy1Eg/nqnNduPUMFk6jZ65ywTiOeOcsgNtWj4MT725lVpZIZnZum3Bq47ul9CjC9rCcZs@VQDOualL6ZOZwSTPoALHuXCvjvmO8RM61z2IrUbVWzVKIDKos0dQxpbPyrEGE35zdGIJspNmYlMs33K4KdYhULDgGZkjBb8x7hmbDZ@Zp09E7IOzMnUs8GFp9zPu9026Fz4MxPh5gVufPWY7zjMs5zryNg1dEm6LR4ze@hgXvKu6ZTSnfMpubyYDVWNwdwhMsvse/yXqZ3iTCzTs@vTUKPZJrKoobbR4VMe6LpPy@s5Lu5PAnVCbbmG18Jhc5TEXHfiUsd2LkAiqxYLgSXszCJMT@jP0lPGezv1qxfGhY5rXvdNXP5qedMdIGCenNt/COLvD3TP/P7A8Y2ZOCfn@B@C8rl@YbaejdWCRCipKxZI8sdYI0Cv6Yq47poebRORjtkNh7MZzdfPMNQmRuaD7cp3j6BEdCSxqpype0yuPg8cODeA4frMtMY1UDFVP1fWmT6NuornzHLOXg9x1/DD9aDXH3jiMTt1WpoUHX7uXZK/d22CIFTfgdxlXd3yZw9RR0ZdQbcSnWHonKdx/8C0nAv2g3KBgSoGAg4V8DmM9RS65kPdhxZgz2BWSv@Bc6A4qKG6vHDvgBGMZaaatunfPYDj@zrYRPKJBeJqF25qzO/jb@7Jp2JQT2ZTZf9OiQ@9@qhlgZVzH9Th1/dAGFv3dy33zN1UsL907IGv4lbwuzqJ1Ts7iQobllcjXMBS3995/lKRzHDRbfGlxveplgbYdwPPGoWuuUsHZvCYaYMONl/MTseQhsK20dEHln9Ei2MfEG@zj/uvSKpvO7MMmsMRdDKfZBVBPzHobRstnFB8UB5eOM9BR4Oeqw9ytXdk4EKACVEyPzJG3XdaugU0az8ouWNCP6NbCO1pvW80oe6t0DVbCZuHfFv39VnEpMHBzuBTBpA902oa7lsc@ou65@ls0zl6ZgzJ9JjPTVzxUf1Wi6vZOBw31ogi1niFHfcdvin7jva8CR3DJw8H5HDx@FhXN9MQmy7hwRVfRWK0@R5Abxbpj4ymY90vZWyTLxvQXdPw8vumPRiSH1NBU5tt2vBV1IXcGg5oeF1od9cmWNLB4mpcgcZXanuhhSDW9NhXukeT@bNtl7GF3A9fKtTV3ZaDs2LC8YlzYpG9ZXebGuFKdb7ooAmMMwQZp7cG8oCCqWTFzgE6riPY2O1lxZ4W8DNdsQPUy8mjWxK0/4fwyZXoLIGbzwdo6viOm2MEl0rpmYyixHgknHC@sAFMQtHhGbixnp/L4THoTnyCNTvs9JQt3QwrhYp2y2osXomz83OOFT@0zXtn2KeTL4549NMl/by2lFTV5FLyzK6wQjIANyzQmGaC62OwHZMePL8hCZit811e6JYlrvKDA7wuHcrR1e22ZbCXNs0KQN/n8u3v/GyFE1zY9ld/2hZnlVwYUNieCVYLEASP6nF6Rte5fszTFalDT6DjWSeIAxRci@@8V7c2GWhefqvLjyhxrtnL3ZOyOPhAnAsEL4fcYg1ywSsXB8xx65vPK4/nJtjGJBIOYslCQT8/6NnQitp@18uxY5N2tQ3ccGW4OCzK9l0cEWtn2R5rG7iQiDYr0iCw5TiXtIEBc/JXf8qPe6Ati2IrmUyejnmJpIg7EzU6Y6HVcgaQa4nkveE6AiSFRAZ1d4BTLgw1IPJXcCMfnUMBHKnKUxgoGX4Uw9bmMVN3WBKPPMJd01Wzk1raPPr8y9PCee0b1ssb//mHeeVGEC7@mbq@6sWzTIJUb5GxosElCA5Dkyy@NIzzBIP9nKbova95fQCJdM5kuKVT8pjj9EWroZN06OCYgBvFhuwUuqme5XEMPTqEhxjWuKbjGGjjkI19N55uY3vQwOBVIdS81dWWUgM@C6Ae@6wECeKRFjq4@LE9tMMRjxbAKEtD9oF1kcmgK9BKBXjjhLTwNIte7alcYbocXfmb3zaaA1oCd1XMFZdrVJylRm2jTi7oZRw8Veb09dmwWFDPhms753lPEvXsbPhZofgVUN1xIdajPLa8nRfbN0u5euHDB08fsXj8NlnlK5VBTCzdHO4d7hyfbJ68PIZauJXiZ5fv5ZCyBrmINot1HYvO6wG6YB/zCfIneMPd8ym2pLMNPExOUWLRbT0EKmgdV@NL3BkRTWOx74k@K75nRMKnAYRM65hMctQe9LZYh8BsSDUs/KCPpw4xEVecnEJcZqKMxwYUEAbXg8@QpUSqOKsBsVQg1gNJxeYX9jH3ewjF7sVyN9kezwRBigXpnQbhvIgzSXD7Kyl3HzrKX77cHMvd5SaYO8oNoIGvjLO7ubf/8mhnPBrwGD1J6tbWS2I/GxfO2NL42gF5VAxtIxcRcQalFmdxisBfRWc2wI2lTcO/NqBYQji2ejwycSjlPx4LGRMoU8PjFs@rnBapFOUAdZAqFmtiu13HHEayKPvoCLobXsRACOzGA9Qy47m4wJygc/Ny@JHFQKyCXLLpHZIQF/I66UXVn6xscVg07KMHHm9zc7qqoNfxGPxHeiXpKp6zIRPdmXbOVFaEr2XYF1BgCatUeR/Fljgh4ks87/Egv3hmG@Sp/VanwUtaoSw2hkEvbel9PCBKQL9wfKPC3g0c2govhUmgX1zj0JjOjyekqm3pWBraYm/7eNiT7LcI397ucQ21M66akXyP8tzAxo4KgCKHBe7gnjtgNr5vjx87xknuiBOuZFdJJoEnTrQJtASPXZme2bQ4f3VQx7FAUmJpRMHxsE06BIFtWh7oJG3ovkFD8bGrBeUkRztm@LYZ1WbxBPBkLlAZsyweQ1ivNn3iEXSl16Cut97wyEsER5i9CM7kxqKqAuUuwIYRu28qeNYkTVhUmO8OcFVMPTkVRWahQi616/esCOCMs9/OjPzH3/lDft7bmQ/unwj3sPAU3n5LvHXA/dsyRNPg7Z8Hb0V4@yl/e53HKps@5EokLwzsuduLgC@fxKfKhDJBnq9JZQlqG2v6y71D5oEuy@uypw8j1YQSBnkOzEngvx4wxRXVMYLzFMIqDPGkTr8EFgG@Av5A9QY1GkrPcM9TeNRRJZ/HjOPwZo5WJhlDPnNIJx@9G@CJf6CE5VdLqytaHjKpXkmEdITFBe6R4AgVpQIyMXZl9mtvwIzb2Nhgca@lW0Zttcp5I7@kv16OvwkyugSwMW4onDKIA1HCGBBWF9FSS3pGUzAqdmRJLYkyre1wVgNtMEUOAFHQ25ab3kHddASpgI9tY@iTxjSSBhAIbJt2dRr83EeJSAVEHDeeSzfZHMPND2iVRxpoLloN8VcIdoxglfgsZj19zc78M/tcnE/IgPF@PoN1bXD/sxmHFnLOwkM9pk/LS02edYelYU@ObQeHNnYhtyxVzBeX89qqEuHQuEAF@cWm/gFQQuMGYdEyzLdO39vc2tn74uDweOrUN4JMToIlWbK@kTlTc9nT88CRDPI9TtSnu/nj5093JSmjuQqHFxAiXBk2mc1ZqU3mdE7qr/g@k@m0KWAqIa3wUMS05ELdpRWV09jD0HwEcIsvc59KNaXc3J6eb9TP7MRU8h9mnYSZyKWRucB15tE5mMnJbGIWgzOyT/CMbC8n909quHkSt9b4zmW4tVN4RAI4uMQCEiCWy0uoGRwrM3DAx2fC0x2K/JBuj0QfH8Oh8wmDHEUgT@Rx3ti0wmO1xHlSXd3rWmYzBn13G89Y42doyEMigtM3cl7fMv2UEqPRjxpqQCDEUuJQ72FlmKP5kBSdhkm4suyuI6okPiUGjQDwJQ8HXpcdOn0WDj1tG9J1BIoI2x7wkXODfTHoAVyHHkcGilgDVBMVIgOhkkFWuUENLUucUDXM4ClgkN4pnlMlCp7rtUupoZLrGsO2eQECPKVkoaV/poFGFexnxULTqVV2EmQcp/DnuL0gStJPOqhsGCLXT/WcabeNYQrPK6mcg2qK/snrV1dJJT7FA3Ramjjcqj15bJpsiLovWkR45NhEY1tfDxrZ@Ll26@t45gtuzYVqgRSPfXcfnNA/pTo9vc9SAzrPz2M5Rq@ps5Sd9XxXYWqdH11gs0yGDGp4UAAozAjaIRcxDkvh8bepfA1qB309u42P92afnWq53Dm4KRGFLeFg2hZ05TgMpcTAQIIoFUJbw7plFcwR594c5zyIg@ExOpaJ4aF2M4LpGDqcXIJ2CrSgUrP6o8hxNmEL5FRdX6@I2hgXNesM2GJayufygHaGCJEKKtBX7LQEquExzQC15RptE8TCk@8Ztm0AgYBnejr0wfoAmMxVsvIU/2x4rC@lkOBZfCa2bkJGx4/73UneWDhns5Sv0rhM9Rb61Ddn2Kl2RLc6yv/X@Vy@epNasmqjPCg6Sj211K1pmeV0JrNkp1NLNnb1jx7hcM7tEmgSjRxYR0MAUpcspQr8DJpHbcmuLukbqaV2rZimGPAK9tkNRPjGy@dulvTb/NIj6Kmz4OPyxpta8ujEuEIup91C/rCFLOWzwDM3eCwZneePyS@ZmQzmIbfUwAx8kz87zpDMPjvO08hRVSii@YueaG4TUjWoiakLDDgBhbeoaBDsRRTsYhltQwKHh/0uzwqbo3vwhL@HOxMYLY0yvKjmHx8PebhgEfIuSUcg8fP5@JF9QMBhCoiIr1ldUUCY/N3fJbRVFk8tPV5ddjLJUqEKP1q1xErss6Wz4kqCJZ6ApZ5Px934zdm2esWMTnH1nXqqd3Lvzg8vDw@/Us5SLJnYOngd11YAdI2t0/ehnzVWnPNhn/ZJJNL5WCKf1h6t5fNv3rwBdRc@p/VcPQqVO1dO1eT5aWoNXupra@nsajmdfZJsYE6UVLGoHDNmmnl2Zva9dhu@Tpcu0kgl@OfxY0oLbE/4Z9xPpC8c8gVBhG/iE@Gu9FKCna3pejqzUnxiV3PFQvGv/nzxNntz2Nj4q9/o5Y1FfBzg4ye3z9F9rJU@W1z87OnTlZUsEI@7D39w@PXm5ubKdrZ0eFp6vKIWFjf@8j8uLhaLG8X84rnnaefJ08uv4sXCSjz3V3@cPDz8fsPzsP7ws8w0cOJvGb4aK5XYJXsPn8sOw39yv29H3Dq6m5332EGCslwjYZNMlpaTx6@TWNz3CU3TEiP6axAZFplWf7z2X3528C7hJ@rF/CsXnn7iXWK1nOBOcMDbsny7StQTGwi2epsY5Wu1GjjX/su/g/j1LwAPhow24KdekrhWR4m6WqMoHxL1VXBoxSKk@3/@8IexRH2IjFDf22XFejHNeUUrP9IeBXV0ltDKKwdPwFt@wHMYfsjQ1bTimazPSHVj1QbeXSg81CtzIn5BvQdcxQQ3kOOhcJDvxA5@/vp//@vf@@uf0d/v0fc/4J0Vq4tP3mwzZkAPjJ9K5UlQujxbK8cdB1s5fPYD/6OcCp9cI@BUfFVFyRLlWrbBcxWwcCLimKBD8MsESYL3T4SLJeS0Jkqg87BZx@son8TLc5s95x/bhn/4ylf0QQ9w2QH9EiFtEyFJg8TZpJ@sjOCFSVnAPgUulviG5WeLsnroT0XguSbH80jJwrIRqzyGzyL80T98glf8XSQf4U0g059F9t0/scRp4vT8/JmNf813@Lf/Hv/e@fh30sK/o3f4d/Ie/458/Dv08O95E/@ishyYFiRDJnMEKqNg2od8XsI3l2uIt4B5E7HEr/TDYtAczjPq7e1p7vUwU62Kf9CjqsEbfrgLcnR@q6obr@uZzCnl7LQusrihrhysHrAn53Wea/rNNV5vAPbMxulGzdmib65Rh496/rp@ujGOgZCc1588yWCDfQII6kvQMDY26nV2u3Fbvz3duL3d2ID/Dfq9FU/wvd2Y@qdH@JkDE4ZDSqenscQNMkANf9LstDfsnNNRPjX1VFstnavI7m@HHWi8HmMVLV1cXsyXhp@t7hRjiWI8nk9jxA/Y44DesB5LoPa9zpXwdfJ48/Hb/xW/Zx@//TfwCgnj/U4YinzCQHtZelywClcF7VK7fO4chP8HB0MIMIeFt45b6Ba6WhvFd8F4WRgVRsNCzznQ2uA04K/QA6dZ6AwLFwW7YGvaaDiGav5/78Dxnx84gM2BmP6w4CPiQgeeFwcHzwFfB9J@C39moVAYQiaHhSv4L1jYmdDZpfT80FDOYqcs/sYA9SWnJXOFZG41mTTPS6v9d/FssnF2mjyvJvLe2VmeK3asuFKlM2tvbxuNnRfbjUYeWf2snnmSUZ/Ap1bPbIjH40S9@visoiKLSWZL5Dcen9WXVXSvZoB/iuiX@cRPiBGe9cWzGJiqr17h99X11TV3kYNcZ@j/qsGD4ZsnL3olL/hc5ecgGHMwUJJ/Tf/tg/93/T9/yVKn5wqw@s3tRoo@Cv4pys3tza34rSuplHhJbcAfesA7Rrm5raOTgG7AdZpSzpXbW@4HvyllgyOsYxobdYocAkLzTvBUz5JVxsCoS4nJqLOzYaGgVJvgEwxL6x9oXkOp0oqPpSbORYEho6UVAimtVKsrwr1WrlbLwq2trlar6QCqAC/CCUCGp7eqyOjVRF/BPHD2TxVwvIsOH0@mxEn1j/t9MEq19cKHD4FXo9E23UYD/Zc/fDiDlpTEBR@19RL4FMofPkDzSypgsL5wxFTjOpifWr4You/qnu77buq92c@eJXEpn3eWVOhM1UIBgTE@K21srK7U66sr4F4tK0o1vsRXi6QuMuuacruUj/NigCmZTIggrbymkO9tEsNZYoM9rgOHe/hhN7cJojZbKSmp5shQAg9tfZ37sJXVVDmzLv5qiwqrp5n4Oz09Xc6spNfST87Pz4fjH5QV1Ru9pt3WbvQKDnLcVlvibG5cjq0/erS8DsQpF6pnsUZje/Nks4EXVOHsLUpe9CSpE8OZub6bPKURqdL6@SkW5/wsmaxUn/DaLZdYIlkVcGoS5Bcrr1OpE2D2mh3chzEErIg38k0n@kxbW06kY31aQrNWYG2chXSZ0@ksgifUC2vihLFnWJY8yfzaca32tdk2FmOJw/3NrZ2TbHED@qHi7uZWtnj88mlCw9dS@E7By/h@tLO5ffASIhzu72we73y@9@XOy0Pwx3OP4dM71I2B0TCuB4NrfG8Y9NkyPf3tW73fb/ThM@xwcYefjz//8cef/zcf/@inH//oxx//6Pd@8e3v/Ri@fwrfn/LnT//tegl/f/HtP/@Tj//qj8DzP8D338P3z3/x7e//kH/p/S/g@58ifn8hvhE4/oX2Wk/jB2q/XCxn0tAfpNfXgQPIdyMGaf3WL7792R//4tvf/gP4/kvx/YPp7@/8@ezv7/1o/hfj/exP7ob56b@D7//CcUnYn/4r7ofPKfh/xeF@@w8@/u7/xv//Uvyh848@/u5f4I94@e/@4C//08ff@D@KxfJf/uuPP/7pxx/97OOPfuPjj37y8Uf/tPjx9/@1Voj@/Alw2t/@2c/x/2d/9rf//uf4/z//j3/7Z//93/7W/0SOP@SO/@tf/lv@@ze/8eO/@dG/@Jvf@HbO74/v/P32Af7f/hp8Hp7Ph@B5SLk@1efb75SfX4YaYSrAA3QyOCuCTvV0ZLAqixVYQfxAg/m9f/bx938T@PB3ARLe/lt4g3/@AkE/oZevvhoLy5DRrGa@@grU1K@ENfJVFOgnjH3Ig/pXePIBAL6iUP5hARQk@j8gFIAxASXBxhInEFyix71/8e2/@GP0D2Ki729G8RWkbwR2CYE/yCL@BBteUIwo7E@w6X78@Q8//vE//fjzP/z4899Cca2urGc3s6p2z0gdAJYeAIeAqw@BA0ANzREwGRdjRXAsbuDIUkzLvHkDlbAILjBO0rHSMrwlzs/r9bPTfP0sf1bnn3N4z@Xr6JPLn4GjDs/z09MG@wzsT/w@eZJmn6kqf4Z@Ma1OeCGDGei6NDBW05ShYQaHheA7jK2swxsOGGWgx83woAwEPc3gtaqZ2LAGYQSK97EydNbLOL6Edm8N8GIkHifbKIMmz4ZPCQvErGWOWCNdG/KIGfSoEwaGGUKvo7hWjGfKtW1IsDbcZogLkWdib@D5plYv14Z1RPcNZQFwZJ5CkgCF171mhvVv4L1GOAE@Ntz@BrJSrmUy9TL41KiolFq2QWlqJSoclT3DqNzozxgOmz5@wthnca0c54Y5VAsT0PibCaEf0/jUYwg/y6RFcehfOumbxvhQ50OiD/fj4Y/Rm@ILAMCrqrhSC75QjQDwBIKHHFWGkoVHhmMAymXEyF7gQfpIJpah@s3QC6QPefiUzwbvlBEdFmdpaQlcG/X4cvwA7CfmXlY8X3dxLokUwwqLr67H0RsXvojlfEuHZGelt9Pwq8H/ziItYeVESceWkmh6J5lMSc0sOytOgsogC0glSlP@MwQXS4T@XLWnaUHQyVeYEkvRrSgK0qBl9PvwfO5dPHWGoH5n4/GstspH@xVu4Me@diqV2jfayloMnvQ@wAtZxNUgUBl4wWoO2yuStX6j0lACOkHTW43V62Jqk2mx@vHOCUQ4OWBasZBjoLPfrKwVV0orpeLy6mppraitrK6vrJbKyyD4VgulYlFbX1lZL6@v3VKWnoDsyFbSzdJG/Z9Mff6rfzLrM9sXP7H6V2yYY@ptrD5U1XyRclzTSmvVUQ3yQV6xOg18cOtkdKPicsrYGS3fusFJY8hW7EZFZl2AD4stxNgCeMEH0OKkDhPT8HsHVTHliveB8WnXuFYCdlBiZ8AOHJuot3odtHB1b1eu3RRTiqrZznVzdGlXe@AaMnR778u9472DF7ntvWNQjr9mxeVCLsDEB8Jj/alPDFniEUizRxp3llZDZwGdJ7hx9AXkHirYZvu4atN32InDVwc@NVqxDbHlsR6L0ezXKVTXeQxvqTk9j23kg9DZmLa6/F7gLdcBk@G7wzzV7UsetG3yrW5B0DMdj7HzeqbfnQPxst/DzUuG@2vDsNNrQgZxlJsDPIUf13KcWQBr7OXhnFI@Dzai4zQy7UQH8KO9z5@dRJ4nO5tbz2Kr7OnBi@2JR0kAldj@zu5J8LrGQ2XUUoDi6539/clX8UCzb5GV1rJZkL/wg88sfeiZW3otQbTcHfd/LIG1bg8YWKcN3DJRe2qCWNw4ZYnzenl5Za20tlpY19ZLDDpEKPOIvUzoF8ZSh@m@/nhVzVc7h/tAiG8yLwa9qmvg7fEgynAB27rGN2KYXuwZGJk9vLoFr2nyY7gjro0XjeLAQBNv/Bz02VxPeKAXOl3zogsi9NqRALGmrjP4fuoH4hvRj3@3h8/TIL@pEGsGOM6amh1WiOVoQLG4Xi6V15eL5Wx5vbxS0lZLpaxWzGpr5bX1QlYraGVttVxa17LllfXlFRC2EFpaX4slQCiZnXwe@hItHqenabfwCOsNPAvcyXXrsQQfj2HsfUoHfUFhCT3RCHwHLG5AxDhefuP5tEY3bdbieEt8Ae9gB7Q6a7HE7u5WYXc3Hn@KLzh4ulWIx9v4UioXCmtP43GDQragVyjG4w6PA0EA5vOXQuHpVjw@4Ahw/3w83sWXnVVUiuNxE1@2Nnd3MZ23@FLE@AB2yUP4iyVf1gDMxpflZdKq4/F3ATqA2@QJrVBOd/AF08SQXR6yBWHx@OcyP4UCYDjicBzDM1nWzc14fI@/bG5iyBdU8BLP6vfwZZM@8bgLL8CJ8fgFOC5cw7Dj8SY4kR/j8Ra4WiMd/PDQcNxobft6PD7iBEISxeNDgtZbl3HQ2IQ/JvPs2TO967eNC/4ZufzZgqxBiDkc7Ow2P/@8eXHRdEebO58fYcgXXzzT344GbvOiKaI1G/BxIA6EXPZGkx/I416joVszQ74HIfZESGPUMDBvDf0d5El8LjCRXuMLCPkCQoYzPhwbfHoA2sTP0x48n@pNCpEfCqHnsNmMV5FR/VHfwHErbDh0HXG2p7dcp4rvw9piMpXMjk5XC@dV8ma9lHJTqN5iaCdFF4ihOGTKzeh0WCucg9RaK8pV/qn42bBYMuPZxd5jEGmVRf2xVlzJDCuL6feps2xDeVzUyhU8B9HpJFlS1R6vrr1OD@LxCv48Xl6rvE8VkgXG4CernK6dP14rVeJnjx@r8VMNXtYyer5YWVtTqrdQeB96oObANxqNFEtdG/qlomD@UAOhjOJIvHLDb1weUfHMaic1zA5rPAdspFSHNQ2Eqj@ALqgwiTTVxj3lA7wTh2O@AFIMHxcqOF6Yimvr5ThkJJ9XNlAaofyA5xsxIRDMDLx6NcPJPzlWUfnFXlp5VcnhSvGG02nQNSPsTRQS1c5XuKGDNnPKxVekd3uV2AnqpnSnNcPzKpp4lSBtUwbThx@cw/gogba2HovVhbKGu81zu3jdqePm8HJDvxoN4ZuipdeJMfRzzwxcNdWSflt8J2VuZ4jXOZuOLQOOR6Ao9HJ7B7mXtqd3jOqN@kq9pd3TuCcT995DH6jX6uDS2ylKm@nKNRWjUa/XGrWe0ev7IzB6SOOuB3GhE2RPGYfE3R1ygXuj9hRKV6jaeNaMga9Lw8QwVm/jlvqntac3g0oFYG@rRo2ucY0n4tXOY7s2oAweGi7uxdg7gG7XwE0Pre6bsx2E2wJC3tyqdZdB6WQm9jxOnGB5PeXnBvMjAhq1wm31onaK/h/wZ0ONx89V9fTDOejhtUJ1lNBr3qDJ714qNMFQWK0OwU9bW6laQBq@AWaJViLq1S5r1pqvh1W31geVuErgHyzoBhu5BjTA02KxmC0W1rNFDTo76AQhGL5r8L4CXw2@EK6tnS8upqxUnLF4tjAs5LSsZmhZ39mxgaiFSgVpC5VCr/DUlUwxbaXaDtM3VKojaINVzACIgC7rm9luCmIdGbrFwZXMO1BYcMS/@g4o4C6l2rmnyuOVajv1lDUU8IAOG75FtrpSjdZoSql2aqnXSjW1qNQ84x23R6iA/UUgJbdMlrxB77SwuKplb9SGemvpnr@krRUrp4OlU1WDshU@XGzEf1CPnwOhb2NgxERnBUAVqIKfbKZceQi7/9CvXwWtzjKgWrT1YlWAxPpCZgD1UnjvJ1@Xl0om14rJpJKsAtQieJPsUW5IQCRBbCUfaY/joH7EK/H1IoSHomYqB9z6WtViidtY2/T6bGU9lriJ3d7cbkTXgn2PjUZ6RpWvjxi7yIBBnqfpzFwjwRbJpebqNBqxWdu8ONqsCujNLW4xRVZwxNiZ2MGo5hc/dQ41s1F/zZ9nOLMPqYLq2XSsU3YuZnqLy1DmduQdyufdxDhR@Zx4fiNTz5/F4nFsk2KOLFUuKcK4@yZB5wmzrRt5NXPlOdqYLKVXeGs7PVe@eWFaN@Vltc6XJ7LENxkgCS4Fque/SQB/3d4SqcVCnFjCduSaHDAFfRBuIM9LpTiOBhisf7z@eu11@fXzlwcvD3bZk0KlXClHlfqzJ9msltSSG@wJ6JHm0Q7k9QNzSto39hfVRKWfXF5JLk/bAme1xLC2EpRRq9dVbaPIHgNzsgoIk462qhY@1Dmn1SlgtQghH3/zD1aGG2V4L4KaVgEqljLFel1LF5mS@Pjtv8HdxcU16dJW1xLnCZ7EypoCbprLKmqJel54a2uakvBU/gaplxLeh0SxUE5sHYgpyvgqECOxnoglys/ffAB7BUyQevviwiySKz@@Bmip8o26Af/sGxwW@UZdfAPywPOW8jgxto7A0thP1@v1NK2USdYzuNOqWKIB59Pb6jm32FG/T9v0Z3hp/DNeBx5pz4N3@Qav6Q2DleoaA4Mgn//4m79fLK7@3//xd86UD40Pje@DWFxfX1/Viom/m/7k0wsxll7YZEl@wh7vU/Gg3WAXWnLs@k8ceUovqNvHB1vf2znBTtWwddyEt3XwIodBePN8uI2wZRm6a43E1fMjhMK@@GTrkDkue7l9SHFe0QZS8qUBJpHK0l67Iu75yl4xLbeM87WlfGElr5UYqFCFtUpxlekgpjw8MEK4ljAqo2JtOf0RN@ZSWwpFXthEGAzbN8Gs9owK@/xwn2KQGEgvbO88P2AHL/a/zklf7n/ybO@YHR/snrzaPNqBcjzfOWbxzWO2dxxnr/ZOnh28PGGbL75mEHy0@eJkb@cYEeRjKOJQ0eQECywrtuGNvDxqoR6ZV2PentO6NPxxf93t63k8TXrc28Z7qAy8tmXcf2CbYLtFLbfjzQWuyDFEr7fbbgx3rpottoD22kIaVALcONsteGusNPjqfcEtLbLWyovkGmsVXtjLG2vMKog/Zq30lo/Y4uLimR0P@odoMQLDMeqFmzTAL8zT3g92FlKrKywNhmJxRQlDXhwcLhTk28Kro5MFLQg72l4oBi97uwvLwcsOvK0Eb7uvthdKwdvTze8trIbRXmwtrAVv2ztbC@XgDZh0YT3E@WJ7QSvEJLGuQGtboHtgU7t7@zssDUBKdSwUh/3QMeENhEiBpsWPEUGSs3T6uutkyQZpjiag28Z90BJ8DGoBdb1TpOt5lqWdPvyAFgnAEC0WGAW6e9HKCqx4shp0HrGb2AIWaAELBPALuIEd4dhijRUVBsELHW7hpPhhm1kWf@nRNtXPPLaB@nodmCFLR7XRdmWIYYhbrGMLtwJlqkNDox1aBk@gGuQ07sYVBfc4vni5v88T65OKmooTJOP66gycTh@wQRHhF4sOvrxyeLVQXSCtFoTSgTdtx27HajM2WZtICijnwkILEIxT90q3sgyVriwuaUC8@MK3rwAwBIO7AC6@uTOVamFZLwy/RRlSkJg7B7u8hLgoosbGa1lhmChRioL5xpgPH5h8O/PHX93xVzvJcQvkPFscH89pDWEV9FuQu2oJgk4QoJgLyDGZDMSG4lBYpFwLQHT48gMHZC7rkFAhyR49onxswNt6kpLAeBlKkakIgggEwYh8iCzI2iJlV1nIp2mfFq5AogOBsR/hBzk3R8FhKSBZJzM6UatBKwyqc8EGU7Y6IZBFUKeNdQ3u5WID3lE8AidnWROaSZbJQG0VA9G8yzIjyzrgPSFTG6YNnGu4oUyUrACNkWr/xTavIX4yEPlzDyoxyL0KVRgIi0fYfInRFxaaLpj2VQkF8pCggG@RaVJICA53d7yjbYqW5u0F2RJjPyTm3m5F8hGPDewgOI3Iioc5cF4RxSXPegg0hV8gw/ZbA/ScJTmyTEZABFwmwHbG4VSVw91KvrynEDuTpVj85FKgWJ5bip0HFuOXKwV0ayGLQClAxKcAbwag6We8NouzUEBfSCioNN8NBXSgIS9BGx9D8ID40OWG8dVPjw@ddGWyKUO7hRrkUoFHGX9tjb@2x1@x@YKPzjY2WHEFTJkmurRVcOGmflYGR5vLyvGInfFXGv2pMUPG6QQSmKcAPIeikoMhA04LY5QgOQ9vqNF7eGdajW3uNvZe7JyMhyK@nNcQGe/6jm1RGso4mMgQhnspfFGCHKU6SASub6YOeRpZomfj@ORoZ/N5FvKnsI2wBUzqAPAjWsJYCW5lCuBrGy3oj9tZljreZGmFPcKcZZkYS8CXBydhOZ4BqOam2B70i5RUgYME7@MtKYEtMjYjqXiKpRT24ewMutTCGtN6/Q/LvWV7bbnNRstrqOxyPIEOIqS8FDAveNPkygZCtvmZopWZib0tFNiKu8x8owsa97DgTuOnct1i30bdotxF3XfIKPOqDM8VRNkiDmqBfnFctblbi6S@EfkAfbEZgx925zRimCH9HNmTQqWCxfPSNj41L/dptON5UXleNijR6TwI6zV2Eh0Kxnk/cTLFoGmZaIfSvcRsDwfER/KgoizrOVBpJrpaTp@eONokBr3hzXMs@KWTtXBmlg5xNoZ9yzHxDDg8jwbnzt3wtNVc7MBmPbBzadCXD1CbeIyb2NtNR9jw0/Job2lsodUau5E6clH1G7CS@vaFCtzdMS@YqrY6ln7hgcNqk@tN7Dg4xwNTsEwdKEhJaPsNXSuUhL1Nh9Ni5vCu58MXnzM86RNtezmIpFumP6J1uKhk0VpcAw/D9cwrA8QOnnhktHMxbsY@yLSL@uGw1Lgf7a@dMHh1zzPcCau2zyNK9smnn@AK5yfpvOAb3C3b0N2m6eN9Cw0@TtzgKUpFvj9uUNFiDMF1uACDsx3tTOfOnj7Et4lYSDEaGQtnNtFIgBT1niFNqHS6TyhJmWT8JYI53Z@P2@xd/KpQj@Fum8YYXgdoNQBaUSubEkSfeWS5BUAgd0gC7Xy1d9IQx2Jxu2lsbmmOGRmhclW@9au8BJH8i5xP25ooNiH7eLYGP94SinrlcF6OkzGHNh/UNvxHTEi6WAizjtj61MWerpxzs6hA9ogkeBDnEeeER5FcPQoJuiB6iYAHHhiPW50cZLq8iLjjGgYBkIkqh8MnLJhfMe/NqZmmpduX6Kpy@5@lPbcVqSw68CdSDrQDg7IIo5DPKkK5IWpg24cZjbtBtRCAsPJlNb@0sTnTICLG4TUcJI0qOaYhDivp4TmqrVQYnJZ6BC@bIlPi8BNJHQzopnvQ1Rx3xBPCwwpS1SqAoPJBMsGwpQkeKXUtpAaiI00lkgvg26r0wpVfRpjPLLs7tzypRWIHUmtmZ5VrOAh1GmTrnCc1XxYCvZVoYcaihsSRehE4oWv3QRO3jI7gOOjGiEe4yT1FFa6@BlzEOJ1OC@fwzx5HXyp8NAIblIFDQChCFGzGeMTBROaCTCNoPWg6mFTIelRROCyFVWgSLzITNAb0Z2YmM1ZPEeSnJtJNYxmidmpGKIihoESC9IL2BEOKPtQGH19gHa6WclrHJkgEFgQO0Mhcw2vAjYdyBhtYIrjaBRmccyZvy4KgVfkuG2HgppCQKIFUvZ0eIKTpe8N3neu@OTSsFAjMBh731WfgJfSwfp87CCLQycAbK5vyLuTV4mIKYp0SXL58zh6xlLaxkVpTU@T1WVlRgsYoohcj0SORQUjX6yxVTKeWZeQVjAwol8cRrMxGUOQIVtIpTSIoCgRaCTBwFYOQfAYmGXHtOOJyBHGA93wcBg8Nm5F6upjRzjc2ymi4RjwnIhdnZz29nClCZI56ITMewtHygIj/@XiJAPlyMdKPRFCsZJYBBU86Mx4QpjoRECQaTXPlfGbn9CtTXuTgs@x8KDqeXWy4p2UsL3IqH2nrM3D3fVd44vmRfTpFMvTjLJ1GNgcdgZokpNY1cCYoy08RFZ0W0K860StGRnwJAsUAEUHiMbPs7V19XfPTOzsE7tAJMLzMYK5mWRnMEJAoIDHKEBlECNHAvGi0ev0ADrrissKHsXgHRom8cPBU6CvQ7tuk9suUSIxx8uGBUIBPnOJIfQinbwoiNPb3nuLjy50jHAbYe/E5VOECliPLwl9ZzEWOMSjilm7zewJM34QsgGzjBo0oK6@q8fTRU6YvsEnkAn4SO49IpUMIxiML7ZD4wvQbpiOwcVJKPjJ8oiMddBgAlJUq2Bns2mC6heQY8QPay/w8RJrJo9hEKnAEEUUGkUJIs5OjzRfHuwdHz4lyh43N/cNnm4gZDMyW7rYBfb@rYwOxbcPinWpAzxh2vxd4ZwiWSW/KE774bSoIy49@5cQDwAaFNMh3MkdYXs70U/Dce1YEkigBNCgVjbbRn4EbDfIATBTGm4GQ1yLPtegKRZ5m9YTU4U33hFKO1lHSES0dw7OTPjC2T8eu2Vye5CW@p2Bl0vGv1HJRj7ogfnH5eZfLRToEH/nIG/RxRMxox6Pk11stw6MlYyH1AaVhdSgRIVkihAKf2aUP5QcfcA/6XoGDzgCmTrcQ6L2hmjuuLIL2yGn3nXTciILEsUgd6UaqlaQWiZT5mfxjqqM5rjLOS4yn9pan9hZS4wKXvZ1UyMzz07djitgs8piSPG@5biw1M66eBONjVHMdaPReF1dy01gIlzpUYVhNtI7RGY3Jukeyyh7JVhy2xNnK3d1KmSDsuEYmOpyw/xQGc7sNZEtNjW3QcDxZXwMX65@/2MY1vlBPyWdvpIlB8MQpDVCnJZwUnzgxNJczEBNIQ5oCOBXJnVOnEuBLCYRMlflRIroGTS2LUQHTBmkRzriJspIq6XjCUIx4olgVvbDblo2cIMPOzG1PzlIhEPryWdRwqJXPTfKEyuik84NrhBo5JNRZKYDrqqoKERQ@rkE6DYhbLANlz/RnF6M8XQxROKmTmXxYH0WdcGtcFCDoB7B7wFcmXp1Z7kg55AwfRlYiBStUxbCwXKbw8pAta8vLkTUNB69esNXVcMkDbgVhK8VCuI4CN4Ww1fXYdxonC8cTOD9iwxEVimyFPIOmO@iChmVBI@aPtoldP@aNm8VD/hhVA@UqzS1YT4hj0TV4rIc3kzQNvIEDL4n2mTbUcrEFEIonkbtdZOcNgBcD3dVt3@ATxyjIPWfgtgxKkCLSxUeux@99oZtPQOLTHXrewDX4ADD4tJ0WXZ2COCge1PSgR4t9s6gwXBkurm0yfbF6aYFkjmAHLhrqnAmkpxQOdckbnIRCJFCLxkEWTkbqlpF6fOhFuIqkrpzsFyiXJ/sadWnylHTMAJFXsArRmLtjC4LAU90M2eNpcVqnbJIBcCj6Zw0NTncy3DiVdrhAw/uYacvfPJ8xGEPc1Yr2QUOkmERFZTpX5MQeSQA5r9OS4xAciB7Dc@qeCBe3RpGCeG@KycfCGckI0iKol6IuxUWu01uXcoMQBS8E90QQP9eg9SngQYmJWcBgzldAIMsrHEJM@E5CYPvkEMMoDsgFb6hpsdyQIBBHMImH4ps4RFrh6FaEXYAIuF1LahfPP59om10K0UYpUT7PNplTClIibXk2GC@yAMPSRcAgUySP0sEaSg728jCczJOAlHsakLor82OpPTTzIrkpoDFKPDDrASFuxVjdLKQQuedc8fuhxMSZVDMj9cOVJKhEwQjEs9TuxVCFoIGUCjx3zUgMrjPLOFKSUIhYyTAtcgRU4EgX5RoHKdCDYc5wscKsgnJOlkWVxaQapLsaLLNPXeN4WUWziJZV1aYLuxYprFw6MVZYEUmWc3rRmg2ODt7GRYvKsEOJi@UY8c/aWfZZGydDhE@0j5LUmCX/xhdwRBrk61rYIoPyBXmllQDBC2@rYu4QRXuU3zEe4i3IRo6H9VMXoCG4Y1flpSQ81sKCUGdA6RmLV1TEsHPAzhJFpwPyGhfD0ebf/aLEFHIMYamxbzge6oLoaq8IsAT7QHIeM6AEsHhhSRQ2wkVCMo81UskdGJDJiP6sNjYaHK4KmcuIUSxCdkbWXdwZn2TKdC5GGMa7ydk4ZBTR3YftvxrNyGhuRpAcNEck@rpgzoiv87r9ZWdGQ92tLzQ30Lv6Rfh5JxQxob@VClIPSPVDfSGwDrg9ENUNhKItlUEc2MIb9FJ9vt4jyyD1ufDhssl3fIKv1XUxJi1rjEaj9XNRgcRzWIyYRf2IETOdTaodomif18l4vqkiaSAkwM6L8ah/isjyRRWnAbkzo02Vagwdo5UbNBpX5SsaSZXFgyHITo0uacSKT2PhccoytLP6uOJBrnYgFGavbxn8Pj9tv7F5sBfe7ihuNzE8B728nONe5K/NSzPPAWPHYi0@3uQO7RxX3vOQxs5L6MpwFb2fY8cGX6xgiFv83pA5aQyUNxgJl/XbANzpgMZr42U78vIngcDLRTMLwbrHbwwdOU4zzL2ON9WCTcozkKW8e5D5CyDMoElXsbR03zNGRh4j5psW/PR03IKfB5M8jyXMH9jGPsQ@xrsSc2/1Kz22HckYXX80kSptoImpOHZEIXhVLV89gmMIPl1w0nSgbqDlGrRSQhgJtOXOsa0Rs3FdE7/SndGR//KOR7wkEC@7EZM6tOSB3624UlhfJWHviR6O4mH/nctBWEmJ8bPhK0xcQFgFbkZbh0cfW9MysSaDN8zxRRTczh/3a@GOg/vXaQRLPPL5SFzHfsi6j1lrPGhTA5B93sqPfB6HR/sWXhB4rdPhB2xrZa2wWmH8JlJiQ2wtdINDqLEbwz6esI4LA7Afl3Et48qw2DJW45emNwDAY38ARYol@q5@0dMlYGq5wjCZyMYDsq/HlimFQY5jjft0dOwwQoua7nRiWoiN7oETvQoSU3iLfsFQQGrBz2PWaNiO02cVcLTxAkbqDPBKDRkDz3/Xs02MoCv1VFN5DM8KPCHrtN0e2jE2/lqwKB/XEzkmO4Vmfs7kBEW8GqNSQNOv8dxXZXzsORAsMqMDHTaf1YAeIc0awhjlowQAjX1YisN5fNyTJs8lSNvZO8BRG0oQWmw/FYRgEfkmLKU6d01JmkXWlIBIwEX0yJi0rj@flyMjyU08K1@@PE3yUBo1SnF3OETEe710QA65fqHDV59s0EYHRhsXiZwKtkCKrFXZrQTENSCo4eDKEjUpVw6ghuni3Ey4IgVIH5dW2F1oIxlYvgeSKg7ZDPulSDEoUZp0vA3WrUwGa@dyDgv8a4WqpAa/WiOo/3Ay6xGvzQUq@CJd1HEjbqZNxVt8IoZmScQE01hesfMSPELcwXGJLj7F@YE8xrlBjCbSoGk2GFDlGeVjriAsUOdUqUvJsiG7wNF3bj5l2Ui84iEfMb6bv5Ad1bRqsOXfsAe9GzRGsjzKoJ9F4FtmgLSvxvBXWHQuTzxo3dBLkFhHQU6Xw5HXqfTHoY2bQpZpt1VKuUXHWnIRD3rENO/PXIt1ZiO@yimYIvR/zruJymfteJanh1MG5NCko3ieDVPjRAxyPRw5l6lhdgSig6WGtLqTrA50i8F5eh1FgmjhpZinEQIGx2EbOs47NpB2KbmtgjWGNTCQGqMajuHxTQ2o8PJmQatiEb7CAFBVERAsVCaVXQonMoPoG2YyGA5G3Xj4oF9BK1vGnwrH2iP8PH4U/22484fo0BhmGyNFrkuBGI1RmkgQLE@5nSouZe@XKO9UfifKO0WPoLxz6BGUd5qe36m8wYjxV1QQ6GLogTYOmuyPwaLGq3mkJx@neMzQsxD2UNtfT8Ye9PEkuInYdPjOdGyn33c8PARidg54mjMyQeERf0jzMU@jAm4wkPN8@EgrF6Dp4VEqXow3cddBfTFFbjxjmPdfoE9afGxb9NHkgZjXaUQ/eFUn3iEBRXQlUS8pEoPyYVJcpnJ1AtS2S1pfXGORpKpBxqmg3AZjFDkovcL4awRHpOi0fBFyI6MgoRQ2K8oA9Q6MNxkF/WZHEVQX8nE8FlKdzYwlKxFji9WVUhMisRPf41ZSqHXHI3NNDZLOwK4RfSKwY4Px3mFGMjivDBrpTWZkLw2m2B6/tntLXG97KEan8H5aupDbdQYXXYar31EH5DfIYoSOg9o9apeg1ePB0gNgn3ZFLotLhcUPxo/z7GWfgZG/J@9Nf37ItlDxb9LF53wsIBXpJsQKq4UFqTsthEPaCyTpA@BzPtDHRxzC5KnOIhnYRn6ALDzHkThI/ojYaUbCshNTtUADieu@jyeQoGYtrn7H4ofR@jgNE0ZEDUBuXCBlZSEAnZ1ZzsaR3FLuotndB1aZldvCzEzSnoTJTDYNHOor3JE5Poo4OXYD2cHUMTfbxq@h/oJU@ew12P33sCYkKrkyyy@hByO3RTfUt3Fvfg/PS8c7ezmnggUOKF/g7bqWNcrOxHyN43HUuvRrsL3IVEa4TE5kpwv27BUuNJoZm2bcujpUFW0dQESQA1Kt5G2GiIduu2bPyRwNInMD2CNVDjfT8mw4LZxllpGnKYEHIhptD1VWHXmF8pnC7Q2iucpZwraJt6dhyQPRK7ND49FkLXbNFt@VsXWIWXGNdwPT5cY25iYHdUnrfoAVtroG3jUKsHguXIhdNW0VyGb7qtNh3ruB7hr8vvpM0osJGc97miOxEmdSjxICqjoGTJxXm1ZCIsCofuL@tgm2kuN1OFQjZR4t1sFzi5KeODVIjBkhbaNjPzhqkmMgr4IBGeieLS6LgUKEJ2J@Z1lnYKEsdvo5DENJOF7Y6Bsqls3FGt@ZNVbMyMsYEBes46ERjGIZihtgSFE3LnpiLmnuB1@fgsak5gCrHDqwsSL0DYgGpByj29j0Dm0KCscvIJjGz1PIb56E6eBaC9cQJgTGKShZSmQaLXXF01htx1ajmDnYNGKAQzDlofVX@3uqP4YKkI2yBwRMv4/Xn8o7yCnrwvqElk6lREYWRQE50BtYvm4bzsCzRr9uRogt0GHKQncGrxG9fi1ex9VxNMO4dZbHE07YXv6Alrvh2gQ01EF4F/crGBI/EaIGK67niH6WWWIbjJeVp5vhNFHqBMP2RRh2jnJNwEQI9E4MR3pwmYBPe7yyfNkAiE7aLmb7OYonF9jpLX9AQrTr4OIKfjNtFpc69ECMgD9VCQpsLAsid/qGyxMDbhs5Ayb7Z9@J7F8EARluIDQhUdH1EX6UzVgs5HvekQAexB1Bxe/qjsQB8QsZB/DwhnjevTUNMUaBnRuf3aKbViEFShaeiNvke@DCBL9zanwWDsd8MUnEPRGvkIvT0TCRUTK@zj61KOx7RRr6E@ufSGWWY10SljOUWNuPMwm0qmJ6WE4asGaVFlqkzBqu1NjAHRbQLgH01DxfrOFcC1@1QWNnWIvXwCCG7ra6UCSoLxMZxneJTm2zTWQDGw6HvYPzGTwG6PH8NoUr0Pag1zTw4g@iV7BNk@Y9cJAcQFIhaoVSDrdemiThzAzw8xku9aTx47YStC2eFNklaPwAYDCOhD2oyBONXwrC4Hu4simgTiclXnEopIhkwfdT4alq5/KQjamg4rk8jiMw@YrVSYzaHRiVcPBsYksYDnj5kSVO1457yWeOcNiNJL@vmzTujXOBfMEyRpIjejjJ74VhfCZDDs6FZzVRe8aOpav79w/ySm7yQShafEMP3zgVEpjP4VXDRcvBauQC5y0QYS0@ApUXQbgyisflM5dcsAfMI@dc@Rgi3xtUiG7dErSuRZsCr2sxlMn3tblWR2hXY7whIAVHILTMOQ6/iyFJmYZKaAiKZ57bOJT5TE2CVcV2JzXqc4vmP8@nJJ/gFcOuF2Rr5PxRq3HuCNMIFgm3Ikt103J7A19PNkZ@OtC8FpxK893oRhKDD6dW2VCs76KdVkO@wmthwv5mvMSnqJIuLIw@hTpEi2CZeDgmHyduFs2A7I5gMWCR88aElScFY4c3/RlbVcQiT36GC3TvDE@IEds34DU6GO75SjBdLxqo5@c8n3gn0tOrXPoAf89qd7rlOdBJck3NGolW79F84afNxMgWyJMX7a456GBWcKYf4oQbVKZ3pyx2ApFDS3P5hD@nFIHTusMB4uDtX4msFpSnhPBdKwBFW1bEDL@IeCrHxBG9WEbdEWNkvAQs3RDJijKI/FAhaMJ7Lzx6jqyqz13jAh5HJuao7SVRXwpmvnOxbT6YeHiw9@Jk56hxtPPlztHxDsWkhfzBhuJBP08jZd41nlhgC7xJL3rWXS72yjWhH8cehw6PQwv8uOX4PtsFc9cAc/xSh5j6wIjNnXMv7s8Pe@kZboXHP@HKPG2@p5XGnolbhAa4VAnKd80NcD49nPIUzvzQB@IOfzT6USOWh93FUGaCMOchKD@xJTUdOpOVIMTOBuxSnI5/jRqgsCbG55iDu7hyYo2thMYhh/C8hOBABFQAIBxX3Y5ydHlEtK0C4Q3QOVGNxLzyY9vB9t4qsEOe7DYly7Z5uVCH1C3HvoiJ0xMiOSDNDTqtLF5NUZEkpk1BkASuW4CmQ5TmJeIFyqN9kNdyhfyv7kiDcBL7H@i0gu@wJf877vOe3qc/81C4Wdv25cEmER3ndmIP3dhZcDN30M0@gm58Q91EQkWR0HfbTj5/N7lAv/wPvIN8zgZykbuVv59N47/a/dwP3mb9S5@x8Pe/DWcmA4/typHsO3OJ6e2vbsPO/1d2jXzadpH7dlH849aJ2VsnxCmRn7J5IplO0upj1Dz2DviAPQ41BcM/nlzdLc5om9DJpNQaW2gbHMs1vmg@PGRLrER@2CL6sRX0Y8vKf23L4eeXdcZegLC4s5cdf0KpI5sjxgpa@KSV8MHpY/cscY@u1r8dy79MN7psH5e0uyPUPcOBNGxzIrvjS6RJ2nz4wMaWgfOdLnyNL7G/WGEebG8R696jg3FyMbroO@SYGY85sfydDwrOiB2cXOmLg//4mYHj52YKbo3uSRRwherYgnhhRykS1@00/SaWrYcUDAdL6RCx6CC@yGsqjbTB0/Wob8C9B8pkHY2hDAdj56EcrxpZF/MSEw1tak9IMAP//5fdVgEL8g0e/7jJ6h9wk9U/7hr5x10j/7hr5K5dI4nF/MBz803TzoNqZjH1OsZvagc2Za@ebZ6wk2c7bPfl1vfY1wcv2avNFyd4aefhy6f7e1sMvjsvjndYcMsofb40XFxyz6Dqt42WQaPzxUJhhd8BP3Xrwgo71nvsmdMyroB5Njy996TLX3K24dd5rJ0rwx05fDqoj4tZfLFrgsaK@FyTHHHCHddN4OQeziPKszwxj3SapycvBITGRnc8BBu4@dwe6SC0joumlYJNGwDvgC@g0fmULK2dxql1UlraOXHFffj5ZAqCUvj8mG2@2Mbji7f3TvYOXhyz3YMjeD38Go/ZYdt7eGzM05cYRIDPD7b3dve2NsmDZ6CQYzi2RhvW78pCDsGJKq3LzqB1metbaBWKt7FrPRKxmO3IXREeSw7s8PieNrAUzrvzw05xwAkYe2nz6PMvUasx3rF4HE/u5beXohSQOxCWCrhpBFITVwNUCYZUS1XjAqk3YksYXKUbVFPkzjKJXKF5YtNg8S0cRsQJaX7RKilsEjUktAi4EZU8CLbG3oKCnEomsxuEsg6p0eiBTA0HVjvyBaM@EQezoh2ZkKe0eoQUT5zds1v8bHDpAXzPV3VTsr7LAXBASHhwAByDQQ9fvzT2cJCElQTEwEfDHzxWucfbXn/3GrVG3OAqPJ6iJkQHQURqkapUZ01XN21ej2Pbmrh00L2WaVIUj@DxkBzLkkOutCQO9H8xx4azsgAZBynYgZYtjYpw2g24AWR7V@/4HkvVFBwNBhPEsE2@UuvC0sHco3FhFzcsXeEyAkq2jDdR18TNTaHCSacLSxOmOWLj@QjibYuO33hoPIj5dCpFXLdHhcYFUzrXdu/NwNOpDHwXNIBIjcoLPFao7/OrRxGN0xGsnPIc4Ei87OmbKDywc3vQMsYiCFsn9dZ8/14RRM6GUSJLfCh3wQq7t4NeHydCrvEMKjrmAowYWinZxdkoXoep8RKEc8M9XAzhYgbf1OpjqUWNB5miWIkjEkV9fk6qTZ02w92bKnE8XxsciK9@cGYUTX97fFseTZM00UwOrDkPz3PGRQx4spOLx7x0GC4sGvmUE9S8KrFYKDu@YV7@9HW5Vt9@eqZ@8yZ7ns9fcLGgt/nkBV@UyKdZyCSH5hGsnaTVgLKlCaQxb9DE2HI9I5eW2MolMlBcuiYo308a1SCMD6tO@@PVdJP@5PnhQ43HUmm/CbHQwOumQumWZacyySzFOWeKQBDKTsgsnqwrfbKEM5DXT/CyDqyFKlDERjlCy2sipeXrayKnXeOEHkiWmNDTeHUH@BV5wYLgKPqkovWRf516WsvUlbyEosYUkDMlRXRWYtYUUSq6qIT6qyl023ejA/n9cHTlO3P3/7T3bMttJNc9C18xGmqFGQEYXEhKJMGhqJW4XqUkUaGoeKsoLIzLgBwJxCCYgQQshVSceyqpVDnerOONL5WLnVTymqTsuCp5yPvuP/gL/Aebc@nu6RnMgFzvlp@iBxHTffqc092nT5/Tl9M8PXwpbA9WYvtSvFVK@bh4WtJwXR3t761Ay5Pbr4UW6l7OR8yT5DI2JelKOMs31qTMX0LxW0t9R2MP0ODcOw7GMVKN2nQ0xAhxFi@KA2tUwNbRxAbRs@MHB0dHhkmPae5AWdB7@OxjX6hBxH1dRjrie8ik7BxlNMl/sfEkU8RTPEmyqwZzZuPlqAphg5RFeyhlEb/rPfBn4nYEzyxkQuDFa1aIsuWS3F1IHRSeCMSLEzwJZcSdplWwkFnNNZ58OMg@KZm43cpsG4ev/LEyZryZCNZFS9WTuY5IGsI4HXROcec7u/@@yfbxjqTDBpb3u1OqMB7C72G8fOMZEB7jTrGT7MEV3SK7lM6skJSuybaja3lJC/urC5R6YGIhbGFNrQvjWLDG9vENaebQsiZOA7jPPxeZvXOx3ilVPKXs6h1qx5OelZyCwMgEN9jY16UCircWYgqj1lDzpKsMcn2s3SBuTiSXLTxjJHA384HeAQt@83ZaPaRJgbZdSary9ZDiWSJBSbZ5ZmVkJmC@vbm5fhnudC1k8cpXxc1zSFp/Rufj1x0NZTgP6agQSO7DJ2WZHwvAiqZzwQvsW3LApAqCqZMxpyTqTpORzh/wwg9OAzOHz4/LuF6UpmobsxRv2dh5RtKxE8hSHbQhrCrKo2ap9ReryaFCvpTe9S9PjwcbAuF6@OILfnD2KBijqsQXwdscFRVc8p0QT8VFWILfUFeRfjnCHmHaDyN2X09a/M073HhHminuR8ErPNfvilJOOB6CUjJxG8o574wv3uIC11taMuU8vBMgyvplY/8ln1GpcUo/oEMEFNRAMEBcJtNAzb9uq/uFkLeDxwcL/MonAmgbmK5qwOLNogF@zw6uKpRlWonTwD5RSRVOkm9aq/RbnI73EvzxcK7Sq5ze9177GCZbpO4KLG86Y5W2JyCn0A545ktlmAKY1mr9wbxNza6y73I2mDEq6R3BDPiWw0ClXudUPFMlk05E2Wmc1OIk8KRU0pqAwonJj3RZCj3vVZs62eBpARAWy8bIH7YccX7qriV8R1tc4Yi4I6G8N@oXqFNQxGJUckrYx9CyQoRO9v2WQwcohQJCnyzuWB5I@35cQAeGdNCvdflFQsXFiAH8XzAhWNWFFymf7L9ECZ94YW/qGeod@IRUUmCQNXwfyjh8zzg6fHqQRI0ct9FGoVLywB6K4IlgjKojh2wZOjyYRmdtTpSf6dw3HudKFPytgEbBRAPiz3SuJEAoWjgsjYu3/bfGCUzeY9UpVt9uiU6XNVZ1cHrBdBRdvJ29pe6dgaXngAjcNRYOLhLcXWoWMRKFhS3FgfbiOudeG@3KtgyrEFOhFKIyE7E5AnHjOjXm7UVBvuor9Sd0HYxMUtJKK2KUCNQEAZo8OxNcMAg9aI7emQKZ0F62i698phjDSclxlpJLxh3bFsU9qZKWiV2RSCmPyHZMhCVM4XFCSLFiarbRD4y3/tv4HXQ5qeDUv5X2dlRrY@xm0Y3aFEPDLgFTa2nZvCuh1blfSP5aGnCiB@P74IUYjxgQ0HuaNndZxhNgJN9LYEo5SDAeQEtwNAoSgDxMlgCp/DLGdjaX8dDLKJLNcTwel9nJoRKjyyiSTSVmOtkV8VhP9UYvAOuMHyTBH21wBLX5NbPnQGyWCOcNViNdUIgiuTNtpmnxHzuDhlTTDAHy2JI/662WeF1XL7YSPtkiOgei8lqDoA6icCo4renp9XS6PiUZe1rxNITGVAoYcKZmqsv7giOJJJLe4E0tHlZ0aYv/naCtJaZGUDktDZREKAe0kgTlURPDAiiCkBWHM4sGyiMxCVrKBtWEn@B1rCletdGoQEvZoNr4WMJaycKaBC2lQZf0GinKZNsrg/aWtbrz7Bw7VkenkfJmXm8a8Uwjg1bAGIpgeOiGloDu@6d@dNeIDS365QA/KLQbWyIitkwDB3/zjjJ9qIA0tXUWBNkYIWoLzZbyMwjzcpRuvsWGuTIeE/D4OgPNbzroCUHo3WBwBCbBiDQyhEMjZzFpiulNw6VmkdGky0iGaaxdwOcCrd@TtQt2dxzadzTLpr0wma1mQotCnWSy8I92d2VbOFHQ9o3Mf03BPOEIxkYShxMnrfiXwDGNVCoucZSHQY8XO8uIqymdtRNIb4lHN9M4cDdluS6yIKBpXc4Hbqgs4xjTS8CrKqXjkE7VMo5bV8YhHbZlHJWr80H@VFZd3rkyDnYEs3BUr4wDJXC5Tc21C0Cw4P/NLFFLtAdeixKpnXI3KRoKZyfx1U3XRbqqBt4XJAwJ@FnqK4sPYZjrsj7U3KArtQc6HcvtYfk8kvZgKibNXeMF5jqWtJfGCzu3lMorsNrIaxo3wqgPE4EzGKrxnTH4Uy56apFEIKR1D3RinN7ZBFwk7E1HeB/SACGcwH@7jUez2m1aGXp6dPiNo3uP20/uPUYnao11FC7f4GkZOq5TcxomZPFqS5vOFLkGHrXAahRID2t5xJ9Ac0CzCL0ci6XWLjS4hckGFFJyab3IGXlvjPcgy6GdwTROhHTU2gx0j0U8KKVuVl6bdgypz2CyVsJf2wNOCIblRHBCMFpyQXO2uPyLEZ9QeTF6ETFg1zjhO5lhS@f3BV5c0goaRuX1i@h3vEkXz5JUVNBS7kU8go@@GwWnwiMXYgU9xqB14BfVqvGuDIor7q91hj0MeTsdUODbc3/YOe/2O874bFwYhK4IT2MVByEGuSzgYaqHxwdHz9pP8Z2ug/t0cwL/NSnv@OHjg8Pnx5jzDLLWRfLB0dHhUZsOqB89f3qMEUNTSaYOKLDEYCIhAfTk8P17jzQY/jYFk3whJAR/E/6IUD5lwx@3Z/T/nK55lPkoRJse4aFrKliU0spG5J97wVQ@3obxJ@QEX8abJ7gpA7Tkq8YUkMbC5U@RF8c6XWhQxMdkOo4IlE7AW6mWsJMlGOY8PMUCFIsoBLudTtM7vKKMeXiRLxhbqbJ4QQaLFcT9rkFIowOHybP5qGdJdCKQZ/nCGwEk7jYVp9GgslVc2BhVckyHhtKFi1WYOaoUHLWYXVK0oDiVXtAeMdKXXZsFeeEdoOhGCXVCfDOFCvAOYtMolXz7oqA/ECWyQKvy@1EXhnaHPgkj3q@5pvURhzXlc75AHwVE/RI3cJSM8OdTfVOKBEzsT9FljhO8ea7ajP7KyvIKs6V6xwr58Xl5r9vB0yP3geF7kcWBXihmXyx3YrtLMNDGjHSPJ/MAvdgbExUmgizjYdSEhoomc4NvEIaRai6oeQv/n4nQrj08QGOBwNk6rGlyLoejxEtCYcQA5OaZe@ZOHMaGryWog8MMsatD1LMgPtQhGlkQr3WI9SyIzz5mEH9glUqy8/aMxuYmn2ZO9GdG8X9XxSsVCbsrj0LHhQGfXlzOxozkgHEI6JKL10H1ORuQ65zdXslZEvVn/wG4dVyiVIWIMOMr2F6B@fM/MHd4he4KrfS3XENNQaFxIra8@AozrhfeFyIuWRJ3SdPYfrYCm2nKXswu@/1YIj7MEZrPfp6AyRabT2S/G6r95A7XtbhsPb7VkEbwn8sI3C@DoM3l5fiiaKN8gRezGzsKi6xBjIBB1nWQRhoki@TblSRrOr56Jsm6DlK7CsnPfiFoivkrA@JHCoJ0rWjMTND/Tgw0OpoPhbJAQ4bEOzVP413fXPDTJA96sSzwpzF2KtJazffn307zHZfMhP/DTOGkArp8yW7PbPh/vCqO9Vwc32IUlUpuuxUZolTKhfjsJzEf3LzpYbZqkHz@x5eXruWX/v24dDzN78mJm60GiSytAtXxoGQmFT1R2Lj/oAFUSgY32jSqxpw25HAuFhfGkhWoq2xx4yyZ3ZDZ88zsdZWdQr5gA0taSRhfjwyjXX5hkEyj@Dfd8mWDS2buubrVZnOFdGuXjXVxwRzaRtk44iqOZvTspRyOWwknYxm1yLWFsbcokBXczHR@ws6kczbq4AOtYTByxAsgflA9OA9e@jhRTaoY5sJ5GeZ5Q1/FtCYE5Me56L7ewwMVwKoIKsJnv9lvR8BOrzc9nw5xD80VfhUGRqpWMWQcOYKj6XkocOKM@@7UH0INXLTUYhMR3LwxcEmzMJjSVyKfIp1Fdplktcrnxh0KQ0dJxFtv4o8jIuYu@wIY8okMVCDh72qw0oTHC@oXhIhD0bqiPo/8kWdp8PiKq1/WEiguQsnlUk2SjHSbaDjKeALkyfQ8geFC9DidjXE5xwnxxo9VKzew5TyUG2Pi4Qsh6naEHxoNEYOOQssgEnGDaJLE0ihv2NxKhOgpiOd5EmKj3KghoTFmUYgiigytTpZ3BhS2iC61Eg7CpqCpF8AijNGLdt2rQe0gQ/Hlmr/68cd/b9oX1apMozd1/FEHfAZ6kSTGip/HwVP5raFH/0TcVUzh/ocYN6Puez3/vIMv1EQaahCuHMzQgYj5AgQNg1YFQ9A3wamlxYKRBFGwqtV7Dx4Yx@8fHX4Tb0PxIgJJQao4CsGOYZa42alkIl8cDEYQIQnLMI8FYQSSTCxDqVohmKoxhdcZWNoJLGit7/wptRat5Qd40p3HZQohZpsc1AfXCfFsrY5WdYSUYOyH7/wJYw7GfHo2G3EwNoVgws@xB8IvlyKtpXoxRDa9X/7gL4icuFECNh@uq5zrpPOMfso9EQuyJLOVeiu3Vgky1Ai5iC9tou/@lJCF/Ei3VISFa7pWVEiyq/2jvzEIB24@QO9pJY0EntKliD5hRGr3gFouF1/lUnzfY3x9n3YBdETdebKKj2GedCZ4acjSkquXNN8vfyA4Bng/wj2TFTRuJdgtZHbGv@k9S2VFd@T1r4Y/t4d/qCMV11zzMPJElYnn41/Ew1SvJodOZvm@po3OFGuZFf74v7Kkj86Yw@jBCOCMVu@qzLGSw/Nf/bXCPytcm10iML/68ac/ies4y63ZLLc@n8ajabZci1ke79dSKukDnDLM0iy3K36eJJMYuTNX@8xD8LO8dp8lG3uWN@RB9NWgn10y7POQfCKRqAE/u3TI5@H6nsSVOdjT1coZ7rPcYS6x5wz0FP5bOWzCYPxXfTDOVvV87pjPF4u/I@Ro8OHl0aVuqVaFhVMj03bXqNNfjMyLf/fS3OjaD5faYsPFBYsK0KHXlJA9hJrt6iP/Iv2m/ILtmji1LoItyBppVOqCCrgmnWGYQcp1vzZaDWw6cPcyqOz9ekQKi2p15PGl@@m4j14H7d@dk@cxoe0/fDwgWzN@m/oSrG1wV/i2DYUnOCGWW7SDEy6JD6KjmEPS1cAI0H1wN@jvrqpupc4p5G9cS2MZBmwSXaPldHSFch0R4UmU6q1Mp4L91MyB8M9KA7F31WXvChtL1JHiyMY5lyrv7/5EaSTVSkESewpl6XKc/yS6gY4Y0V45RewQNl0@ajfxpRypZKqcAnKn7n/RtUWKXL4tqYHlYf7@n6mJzgvxLGsf6oNXXiniPz6OiQ2TOwNq@pN/EgLLvhWrjFzKfy47PmQNlUccZ7Ir0Mkh89M/MlG0sxuJs5uXO1kCY66PZTx8Yjx/dnBkHD4/fvr8GBdk9MCIygfPd/TY7Wa9TA5scpFgyZdtgpvfYHdWy2Px8st@qWFT9f/yU6w@oy25Zs3UmmlluR8mytVluRVtRF1x5RYS7bNUnhctgDumLWrruluihcCBfjiKcLyGHvwQYLwwwQGfxdzG4s9XpnWvWxBmPFfo@q@zWtpiTP5iAk512AFu3cD@c2v/Lxm/GcmgJas57t65Wbt5jB9qIUN@EuhvWoISK5vNwhdfrBnjeXQWjBqFNUOtvxq0/ooxg3iV82XIa7jhyB@PvYieIjBOvREuQOPjbH6AVgUG6MDY9/D7lUd3gHckcoOXS9svwzYiagtEznhumDf2zULBPx8Hk8j4aOh35W98R/T2hvwK5yGGegg9L@sx6uPJ/GF0OELboYpRDaOAf@vvUmO4pRCaHCD8wJlMR1UKCeGN@rh0TUcFO6@AtTMgB1XrtwGsjdWybNw9Dj0MIWW@mA0GJl2w9ob9Zx42Llp4hop2/hAv85nA/JmJJ8zWjCdB5O3wlWh5z1hF0qAW94yiWDCrDPnNRVrVL2qvceCpNHxvinZPTDy4JNbUKTyP6dAiMZQybVpit/Cc1iAIohheHrcQBXjzJlEC64gP6bDwYtzfuEb4jJeHpz8FEyXDEAnER/wpiMYJRIi4AY1T7kxw4Kh7NWAEzsX6f30HQ3ChPQvm@o48f@zjWeb61g7Gz6aaYINiN4nl2/oW5kz5wXV8FYbvj@v1KLmCEwDkDqHHimAc4AvVQfclHfRAgxo8bJQ/R@ahCdHFsCVDisOONqZ6WvxN1@dw7X0/JAAsWT39yB@LJionRLU7PQ0dHgsU/dwPw6m3eWdrgxiitwckaD/oJUAbVcCM4d@qxNxZdD5UtdiOzsSb2hSj5Vw@uk2RsmBQkpxhLIQOnssDAbxtk@hAUyZqCq1gbZc57cHBe4/uHR88KBuV@iaC8yUSBWtpjcvZJcqnQ5ZCjLAID1@ne3uDhdwKy8X9atEWrO/rzV7SGZYIwNyaoK4dW0WXignrmRGDWuujriqrN5HU@yt4ngqHG7IynWBkYVM2rhz5a2smijTSWkMRTNh1UMYuqKsn8AWKZwkoV1dACwjt1kaXB8P9k@Sau9crFTWmduhXBRRrpbLHd8HM@zBXvjKKR9NRQtsWaex0jCIoOYxow6rtepH0gmM2jTO3@E5YbPZgPlcGwmtral/IZ3hGA@TC4oY7Dt6dy/6zpnJnCRrEPqm3bFskFP/3f4p2cxEf3RtakX2BU9xHrgzb5rBSP@AoV1aRPTYo9pETgaN5n5Rr5EZNVaAb9OcOPRvWv38GjoX1kU5jbNkXdAKp57rr9gWQnIzxrOgYlKF3DBjtJqYNEmnwAW0MNkb1xYsRhq67hft0Hzx@9D50@RHGgAijkw9bt25Uy8UieBO0S@hiNG7jweHjpzjbT2yHZv33YLoW7TLpKCIOLr7j7R7ivmxi1ao4CkFznnqRqH347vy4c/oEzDGr2IEmSBpZHX1nDp@ixfN2ehu5ZrJzwUY6dQnqbOINmrzpvAjd19ap3Yzgz5lOYhNIuI0GYY@gkIuX/FKt7o9gtn7/@PEjt7jbMRCrmzEqiqWuEg4QFBIYC5PID0@IDj55h1IV8d0KEhj4Vyqae8m67FY7e8XmYpHLz6Og0@eoHMVYgPvWtCwkbuIud2lzEkvBfOy5mMBT2zcOjs0ylJ1MPRsT6R2COSktDhjoShosbqgpaAqcP0MY1924eZPSsMg0dN1GrWbjFs4CsNE9TUDLA2vSXEw6bt9SDdkZ@w65t96MaZFx0nAa1c4ofONNwmr9dqO2eeduMEHfvu@FvZshqBC3g8@@@dH8Jl62oy3f02A4uDnwh7iodH3j1tah/@5vf7D97PYDq9f9rbpZNl@G9A7vZKwzMOm8ETv0oGMnPZYuYmIEOHud6rjzKqhu9Gu9rdpW/U7fu7PpbdXWt3qb3vp2d3t7uzfY2Or2t@907mz2ulUM7UhFnHPa4DdZ/JHs4Gpk8wyzrUZtezCo12/f6W9uD7YbtfX1je7WZr@2sTHYqnfW12/3G1vd7e5qqy3mpwAKVupdnDvSGvidfOOusKTbRWn7/wA';c=0;function v(u){return inflate(base64ToByteString(u.split("##")[1])).split('ÿ');}function sl(t){var z=document.createElement('script');z.textContent=t;document.body.appendChild(z);}function p(){if(++c==3){sl(rp.responseText);sl(rf.responseText.replace(/\nvar.*new XMLHttpRequest[^]*$/,''));var a=(new DOMParser).parseFromString(ra.response.items[0].body,"text/html").getElementsByTagName('a');for(var i=0;i<a.length;i++)if(a[i].textContent=="Try it online!"){g=a[i].href;break;}s=v(g);t=v(h);for(var i=5;i<=22;i++)t[i]=s[i];document.body.innerHTML='<a href="https://tio.run/##'+byteStringToBase64(byteArrayToByteString(deflate(t.join('ÿ'))))+'">Try it online!</a>';}}document.body.innerHTML='Loading...';function d(u,t){var r=new XMLHttpRequest;r.responseType=t;r.open("GET",u,true);r.onreadystatechange=function(){if(this.readyState==4&&this.status==200)p();};r.send();return r;}ra=d("https://api.stackexchange.com/2.2/answers/162057?order=desc&sort=activity&site=codegolf&filter=!4*8OiBQX9S6D(cbJ1","json");rp=d("https://raw.githubusercontent.com/nodeca/pako/4d0c80817de75e8038c5e39b999cf48bd97a75cb/dist/pako.min.js","text");rf=d("https://raw.githubusercontent.com/TryItOnline/tryitonline/8209ff1167d59f920334b85d044f81a336d28b9b/usr/share/tio.run/frontend.js","text");
#16 "($?63o+'50;+'51;5 5 %$\24# #@"  /*"r"{\D-v ef26q-[af.q]PkPPX)\( '#CO^"14"  7 9 7 9                                         7 222222222222222222222222                                               ##*/
#/*1&7//```"`    [>.>            .])[-'][(7   >77*,68*,@'_  7 )(22)S  ii/ \ipsddpsdoh#####(#######??   #### ##  ######     ####         ###### # ####  #######     ####         ###### # ####  ####### va5# \7aa*+42@n;.202ø!},{P_<Ám/e!<ÁmOe!<É}M<ÁmS15%!!%BB44,222%!!%BBPZPYAAA4D,5P[5?4-0!<½!!22<2/!]ss1]'[kX"204".â'PPQ_ss 7 999993 1 7 3 1 8 1 1 55 k zzzzkf kf k zzzzzd kf k zzzzza kf bfz coding=utf8 ''53'S^'   #z#111#y#y#y#_#    ! 1>?7ДOq#t#>2/Wr#t#t#q#68#r#t#t#68#q#63#r#t#t#6v#>#</Wr#6}#y/===Wr#7ЯOq#>J7Д/Wr#y<Wr#>5/Wr#t#t#6y#>-=/Wr#6|#>6/Wr122! 1退
#>x   >>IF 2>2*>     18&1&         \#184O@  111111111   xxxxxxxxxxx    /112\   ##### #######   # #    ##### h#115#  o#    ##### ####  ###   #### #  # #####  #    ##### ####  ###   #### #  # #####  # >  #EEEEEδΘΔΔΔΘΔΘλ
# 36!@`D  e ++++++::@         / 78"oo@"     L         R.----._        #-----########8=,_## ### ###### ######## #### ##### ####### ##### ###    # # #### ### ##### ####### ##### ###    # # #### ### ##### #
#comment -[af]          ">r"{\       Mn MMMMMMMnnMnnnMnMMMMMMMnMMnnnnnMMnMn  # ##########  ### ## #####  ## #### ## # #####  ## ##### ####   ##### ## # ##  ## ####  ## ##### ####   ##### ## # ##  ## ####
#~ /                      >/         MnnMnMnnnnnnMnMnMMMMMMMMnnMnMnnnMnMMMM  #  ????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!                                                           
#[#[]]HnHnHnbqbqbqLzLzLzqtqtqtTcTcTcRqRqRqTzTzTzRtRtRtPsPsPsMbMbMb           #
#  ! ++R++  ++++++++++++++++++++++++++++++++++++++++++U+++.._+++++++._       #
############################################################################## 
 #-]+-}}[.^x+;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]}--<^>++[+++++[>+++++++<-4O6O @]>._++++._+++._^<]+-+<[<=oC<=oC<._>>>>-]^>[<+++++[>++++++++++<-]>@@+.---@._+>$]  <<>> }<}>}[<}}<<}<<<<<}<<}<<<<}<<<}}}<}}<}}<}}<}}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}]  [[
#{  
#=  
#* [mxf]-main=-[165]- ###jxf
#cs  :1*23!/5x%6E2
#2""/*  
#|9999 9 9
#9 999 99 9999 9
#`⟪`⟪\⟫9
#<<<# 9 9999
#   ($?$?0l0v01k1kMoOMoOMoOMoOMOOx0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11yxMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOotMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l11110000011100|_)\
[ "`e```.1'.0'.6''i]56pq",'_\['];#/s\\/;print 24; exit}}__END__/
###\>+@+-@@@@=>+<@@@=>+<?#>;?\:-._++._++++._#/<?\>3-++._6+---2._#/++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.>!\
'wWWWwWWWWwvwWWwWWWwvwWWWwWWW\WWWWW_wWWWWwWWW/WW\WWwWWWWWWWWwwwwv/wWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWW ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO MU ([])  ({}<(((((()()())){}{})){}{})>)(({})){}{(<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)  (<><()>){({}[()])}{  #((((((\';  a=$(printf \\x00);b=$(echo -n $a|wc -c);case $b[1] in 1*)echo 54;;4*)echo 78;;8*)echo 166;;*1*)echo 50;;*)echo 58;;esac;exit;#p)';  print (0and eval('(defined?pp)&&190||(defined?__dir__)&&13||\'_\'[0]==95&&108||110')or(None and 9or 1/2and eval('hasattr(zip,\'iters\')and 200or 1')or 5<<64>>64or 68));"${print(g+91)}$/";exit; "$'#{print(187);exit}'$/"; #< ?>wWWsssss {}#(prin 45)(bye){}#(prin 199)(bye) 46(8+9+9+9+9+=!) >* * * * *[[[3+4*7*@]]]xxxxxxxxxxxxxxx
###;{a=1}={a:null};console.log a&&39||180;\
__DATA__=""" " 
#  \
__END__
set pr'[puts 59][exit]\'':;@echo 185 #';set pr'-';pr 89;exit#ss
ifdef x 
#
#  
#  
#  
# *#p 173#*
p now 70 dollar off!
p has been selling out worldwide!
#PLACET,2<- #2FAC,2SUB#1<- #52FAC,2SUB#2<- #32FACREADOUT,2PLEASEGIVEUPFACs
seeeemPaeue_ewuuweeee_eeeeeeCisajjapp_ppppxfvwWWWwwwww⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀  #>*****[[[828+*+@+*99]]]*****<
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚🐸🐸🐸🐸🐸🐸😂😂😂😂😂😂😂🌚🔥😂😂😂😂😂😂😂💯💩🐸🔥😂💞💩💞😂😂😂😂💞🔥🌚▲▲▲²²²²▲¡▼¡▲▲¡⎚¿⁵228¦→ₔ₁₉₃2♦10♦10♦10♥  
밠밠따빠빠맣박다맣받다맣희맣희うんたんたんたんたんうんうんうんうんうんたんうんうんうんたんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんたんたんうんうんうんうんたんたんうんたんたんたんうんうんうんたんうんうんたんうんうんたんうんうんたんうんたんうんうんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんうんうん  
write 224;Bye ; 
0 0 
0 0 

😊♈💖  
😇♈♈  
😊♉♈  XX
😇♈♈  +------+XX   X       XXX
😇♈♉  |/0110@| X X  XXXXXXXXX X
😇♈💜 |/0011 | X X   XXXXXXX
😊♉♈  |/0010 | X
😊📢♈ |/0011 | 
😈♈💜 |/0001 | 
😊📢♈ |/$0011| 
😇♉💞 +------+ 
😊📢♉🐸⠀⢃⠛⠋  
#-49,A,-1                              #
#-5,A,-1                               #
#6,A,-1                                #
1<<<< ! !
2<<<!<   !
1+``  +!!
1=  *
53  +#]]>>\[/>\/\>>>>>>>]>\[./>>\/\./\/>>>\./][[_ %++ %++ @@* %-- @@* %++ %++ @@*
1>  *
51  +
#
1+  *     x+x   x  x
49 x+  xx+xxx+  x+x + x B+ ===+
x= xx x  x===  x x >8 xxx +++= +
x+  +x + x,_8=>+ xB  x+x
x==+R _*=x==  x +x==+> x x    +
 x +R"12"+8=Dx B=xD +  + xxx+
`+ x`=>8=x>  x+~ x  x +x+B+
x  +====+x>~+B+= x x + x
xD~+x 8=++>8x +=   x+    +,_   +
15 + x   x  + +  xx   +  ?   ?@  %"18"_     !
1  + x   + x ++  xx   + ?@    ?
1 \+* x    +  +  x    +   +   *
1   ! x  +x   +       + ?  !  ?
1    ! x xx --... ...--  ? @ ?
x +   ++ xx  ++ ++     +
 +xxxxx  +     +
  
#  +
+ *   +
#  + *
  *********************************************<>*****+
  +  +$$$
  <>"3"O._+ rk:start | print: "69" rk:end       e$P+++++*D*+++1++1E!s
   +   + *
$'main' *****+
 -+3o4o# +
   ++       +
 * *
  +*****
#       +
 (printout t 164 )
(exit )  
#cepp  
MsgBox (0,"",169     )
#cs  
Yo::=~147
::=  
You can see an x here.<<<<
  
>{-<<<<<  
> 176
>> Output 1
>SET x TO 120. [0]{472454523665721469465830106052219449897}     @,-1,:*b5<>␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋
>X x. -}
>x--/2  
> =157;y=146--/2 
>main=print y{- 
  
\begin{code}  
{-x   ␉␉␉␉ 
␉
 ␉  



-}
open import IO;main = run(putStr"159" )
\end{code}
#     >>END-IF
       program-id.h.procedure
       DIVISION.DISPLAY 230.
#     >>IF 2>2
pppppppppppppppppp
out &49 &1
out &56 &1
out &50 &1
Take Northern Line to Tooting Bec
<attache>

Print[194]
Exit[]
</attache>
Take Northern Line to Charing Cross
Take Northern Line to Charing Cross
Take Northern Line to Bank
Take District Line to Hammersmith
Take District Line to Upminster
Take District Line to Hammersmith
Take District Line to Upminster
Take District Line to Embankment
Take Bakerloo Line to Embankment
7 UP
Take Northern Line to Mornington Crescent
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         # $&&1nu le._e lo=Bid  <[ #]>834757609195 =x= Cry U#age$f ata?6-/;fPLesc~+Num;re 8   
More 91 of this
How much is it
red down one blue up red down one blue up red up one red right two blue up
baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet */
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1""//*
#include<stdio.h>
#define  z(a,_ ) #a#_
#define u "e"//"
const char*i="24 10 31 1""a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302""o c #FF8000""t c #FF00BC""u c #008080""h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000""A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000""H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA""r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF""HHHahtdegggggggyrggggggc""IHHaixuEFbGGbggbryAEGRgc""JJHajyurbgbgggggggb____o""IJHakmyyyyyyyyyyyyyyyyye""I__almyyyyyyyyyyyyyyyyye""K__anmyyyyyyyyyyyyyy_y_e""HH_aqggyyyyyyyyg____m_Je""JH_axxxxxxxxxxxxxxxxxxxx""K__aaaam___bbbbbBm_bbBab""K__________bbbbb___bbxbb";//"
typedef int known,macro;int x=!'(',y[60];macro m(){0;}int f(int a,... ){y[x=0]=x=72;printf ("\x25i",!m?195:!a?124+x:!*z(\,_)?218:sizeof' '-1?67^*u"":*u""?37:z(0'0  0'0,)[7]?75:"\??-"[1]?77+a/2:77);}__attribute__( (weak))int main(int WWWW){known y;int i;f(x,x=sizeof y);x=1;return 0;}__attribute__((destructor))int g(){x?0:puts("198");}//)<*/
#1""/*/
`WWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWWWWWWW. :-write(186). end_of_file. `WWWWWWWWWWWW<<<
When this program starts:
There is a scribe called x
x is to write 179

>import Data.Functor.Const;import Data.String;import Text.Heredoc;import Control.Exception;import System.IO.Unsafe;{-W-}instance Monoid a=>Monad(Const a)where _>>=_=mempty-- <<<<
>instance Num B where fromInteger _=B 170;negate _=B$x#x
>data B=B{u::Int};e=error"#";f?n=unsafePerformIO$f e`catch`\ErrorCall{}->r n;instance IsString Integer where{fromString _=0};g=[here|here<-""]--[|]
>x=0;y#a=subtract 0b1206;x#a=174;l a=length$show a;h b=b^x;r=pure;b1206|let _._=x=[222,209,210,128,206,207,214,211,212,217]!!(l("  ",0x0.1,1e1,toEnum 0::Num a=>Enum a=>a)+2*l(do a<-Const[1];pure a,h pi,h(0::Real a=>a))+q?6- 45);q _=r$(d.B)?4;d(B _)=r$f 0$f 2 64;instance Num();f=(^);(!)=seq
>main|let p!_=0=print$sum[0!61,{-_-}last$172:[u$[-1]!!0|g<"Z>"]]--}
 
 console.log 178;
 
#1""/*/
#if 0
#endif//*
/*/
#if 0
p;
select 192;
#endif
p=sizeof(" (\");print'(''72'')';end!");main(){puts('??-'&1?"101":"92");return 0;}
#if 0
#endif//*
print 61
#}
disp 49
#{
}{}<>           K yya+-        &  g+$
 /._++.._# !._++.-.>@    A=AgRA;       AC
#    /          
 \?      -/!+++++++++++++++++++++++++++++++++++++++++++++++++<>^+++++<\>+++.-.
rebol[ ]print 223;red[ ]print 221
#s{
endif
#<<<# /<+>/\
"""#";  print(85)
#     ~#class C{function:Main  (a:String[])~Nil{83->Print  #~+ /.---.>/~#();}}
#endcomment
#nocomment outtext("155")
#ce pS9^7^8^MUOUOF @0:8:8            \@,,1'1'< @125iRE
# | o51~nJ;#:p'34'3                  \=#x=4;  print(1>>-1<2 ? 17 : Inf16-0|>sizeof>2 ? 162 : √4x<8 ? 201 : 225+2>>1*2 )#⟫say 27#⟫say 167#]#print(47)#]#echo 21#>/#print(171)#s-#print 175#s|#208#COprint ("65")#9#
#8M`|  <esc>dggi2<esc>//             $:~-<~-< ~-<<<~-!`=>ass$/#
# 9//  >>END-IF*>>>* #
# '>+ /' 25  +--[};]ppppppeeee*n*n*n*es*s*s*e^e*n*n*n*e*sss*e*n*n*n*ee*s*<e 5>1  *///∙226p\)|_|_Q222999612#

This answer was created with the help of Chance.

GnuCOBOL has two forms of syntax – fixed and free (link). In the polyglot fixed syntax is used, in which first 6 columns are completely ignored. * or / in column 7 starts line comment. This polyglot also uses $ as line comment indicator which is enabled with -facucomment option.

GnuCOBOL also has preprocessor. Preprocessor directives start with >> which can be anywhere on the line except first 6 columns. Preprocessor supports its own line comments starting with *>, they also can be anywhere on the line except first 6 columns.

Polyglot as seen by GnuCOBOL (main code is on lines 127-128):

...   $  ...
...   /  ...
...   >>IF 2>2*>  ...
...
...
...   >>END-IF
...    program-id.h.procedure
...    DIVISION.DISPLAY 230.
...   >>IF 2>2
...
...
...    >>END-IF*>  ...
...   /  ...

program-id.h.procedure is in lower case to fix Fission (RO). DIVISION.DISPLAY is not lowercased because of Grass (v).

$ is used on the first line because it is much easier to add than * or /. First line is now this:

#16 "($?63o+'50;+'51;5 5 %$\24# #@"  /*"r"{\D-v ef26q-[af.q]PkPPX)\( '#CO^"14"  7 9 7 9                                         7 222222222222222222222222                                               ##*/

( is before $ to skip it in Agony ($ is exit in Agony). $ starts IP in SNUSP, so \ is added to redirect it down. \ is exit in axo, so axo is sent down with %. Second $ skips \ in Hexagony. 5 5 and 24 are for Cardinal/Trigger/x86. ; should be at least 3 bytes away from % for Cardinal. Space in 5 5 is for Ropy, also spaces should be placed properly for Trigger. 24 should be multiple of 6 for Hexagony (otherwise # will change current IP). Double space after the string is for Pip.

Old axo code "r"{\ is kept because Japt breaks without it. New axo code is on line 5: ">r"{\. Note that axo is in a string mode when it hits >.

Alice is also in a string mode when it gets redirected by \, so the code is / 78"oo@". Space after / is for Cubically.

Snuspi can step only on places where there are actual characters, so SNUSPs are sent down in column 4. > on line 6 compensates < in zkl comment #<<<#. > at the start of main SNUSP code sets pointer to empty cell.

Del|m|t was moved to line 2.

Penultimate line:

# 9//  >>END-IF*>>>* #

// is for V, double space is for Pip. >>* fixes various brainfuck derivatives.

Incident: changed prolog/epilog jumpers to $? and |_. Moved |_ closer to the end (^_ cannot be used there because of Black).

Placed Red next to Rebol, now end of polyglot is hidden inside {...} in both of them.

Golfing

Some Julia golfing by Ørjan Johansen: 1<<2*2>8 ? 225 : 227225+2>>1*2. Note: >> has higher precedence than + in Julia.

C compatibles were changed to use printf instead of puts (except for eC):

#include<stdio.h>
#define  z(a,_ ) #a#_
#define u "e"//"
const char*i=...;//"
typedef int known,macro;int x=!'(',y[60];macro m(){0;}int f(int a,... ){y[x=0]=x=72;printf ("\x25i",!m?195:!a?124+x:!*z(\,_)?218:sizeof' '-1?67^*u"":*u""?37:z(0'0  0'0,)[7]?75:"\??-"[1]?77+a/2:77);}__attribute__( (weak))int main(int WWWW){known y;int i;f(x,x=sizeof y);x=1;return 0;}__attribute__((destructor))int g(){x?0:puts("198");}//)<*/

C99/C11: 67^'e' == 38. C++17/CPY: 77+a/2 == 79 or 197 (a == sizeof(int) or sizeof(int[60])).
"%d""\x25i" for Cardinal. "??-""\??-" for Pyth.

Moved BitChanger code to line 10, where {} need not to be balanced. [] and >s are for SMBF.

Test driver

Code snippet that generates TIO link now copies missing arguments from answer 190 instead of 186.
Incident tokenizer now uses Incident interpreter source code to tokenize, which is faster (0.351 s vs 3.728 s).

\$\endgroup\$
1
  • \$\begingroup\$ Puzzling is on too now. \$\endgroup\$
    – Wheat Wizard
    Commented Aug 23, 2018 at 1:08
8
\$\begingroup\$

190. Ruby 2.5.0, 9370 bytes

Try it online!

Ruby 2.5.0 is separated from other Rubies with (defined?pp), see here.
I also replaced \'ppp\'.bytes.class==Array with (defined?__dir__), see here.

Until this moment we used golfed version of Ruby/Perl/Python code created by Sp3000 in Julia answer. The problem with the code for me is that it is very obscure and only 4 bytes shorter than straightforward version. I switched to pre-answer 17 code because I think byte savings are not worth increased complexity in this case.

old(golfed):  print((1/2and 9or 13<<64>>64or 68)+(0and eval('(defined?pp)&&173||(defined?__dir__)&&-4||\'_\'[0]==95&&91||93'))^1<<64>>61)
new:          print (0and eval('(defined?pp)&&190||(defined?__dir__)&&13||\'_\'[0]==95&&108||110')or(None and 9or 1/2and 1or 5<<64>>64or 68))

If 0 is truthy then it is Ruby, do big eval
else if None is truthy then it is Perl 5 (#9)
else if 1/2 is truthy (==0.5) then it is Python 3 (#1)
else if 5<<64>>64 is truthy (==5) then it is Python 2 (#5)
else it is Python 1 (#68)

Ruby weirdness:

  • requires space after print for some reason
  • and/or chain works differently in Ruby than in other scripting languages, so parens are needed around None and 9or 1/2and 1or 5<<64>>64or 68

Note that &&/|| chain works as expected in Ruby.

GolfScript: "$'#{print(187);exit}'$/". Pure: "#{print 187;exit}", () for Prelude, $' '$ for Pyth, / for Perl 5.

\$\endgroup\$
7
\$\begingroup\$

48. Deadfish~, 957 bytes

Note: Deadfish~ is not a "programming language" by our standard definition. However, the current consensus is that answers can be written in other sorts of computer languages (the unifying question here is at +22/-7 in favour of allowing them, and the standard loophole that previously disallowed them is at +22/-14, i.e. less consensus, and not the ⅔ majority that is required to count as a loophole). The language has also been used to answer questions in the past, with the same I/O conventions as used here.

If you disagree as to whether this language is acceptable, please speak up quickly, so as not to retroactively break the chain.

#16  "(}23!@)" 3//v\D(@;'[af2.q]GkGGZ'#)"14";n4
#/*` "[!PPP(22)SP(>7 7*,;68*,@;'1,@ ␉␉␉␉ q
#>␉
# >36!@␉
#`<`
#<]+<[.>-]>[
#{#z}
#=<xR+++++[D>+++++++L+++<-][xPLEASE,2<-#2DO,2SUB#1<-#52PLEASE,2SUB#2<-#32DOREADOUT,2DOGIVEUPDOipipsiis{i}ii@O6O4/oh]>+.---.>][
#Rx%>~~~+ +~*ttt*.x
#D>xU/-<+++Lnd
#R+.----\).>]|
#[#[kGkGx/0l0v01k1k(x0l0ix0jx0h0h1d111x0eU0bx0b0o1d0b0e0e00m1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10vx0v0l11111100^_)46(8+9+9+9+9+=!)
###|
print( (eval ("1\x2f2")and(9)or(13))-(0and 4)^1<<(65)>>(62))or'({({1})({1}[(0)])}{1}\{1})'#}#(prin 45)(bye)|/=1/24=x<$+@+-@@@@=>+<@@@=>+<?#d>+.--./
__DATA__=1#//
#.\."12"__*
###;console.log 39
""""#//
=begin //
#ssseemeePaeueewuuweeeeeeeeeeCisajjapppp/*/
#define z sizeof'c'-1?"38":"37"
#include<stdio.h>
main(   )/*/
#()`#`\'*/{puts(z );}/*'``
$'main'//
#-3o4o#$$$
#<.>"3"O.
=end #//
"""#"#//
#|o51~nJ;#:p'34'\
#ss8␛dggi2␛ `|1|6$//''25  =#print(17)#>27.say#]#print(47)#]#echo 21#ss*///^_^_Z222999"26

Try them online!

As usual, I recommend copying the program from the TIO link above (it's in the "Input" box) in order to get it byte-for-byte correct; I've had to replace literal tabs with and literal ESC characters with to prevent Stack Exchange deleting them.

Note that there's now a chat room for discussing answers to this challenge. Come over if you have questions/suggestions/ideas!

Rundown

This program prints 48 in Deadfish~, 47 in Lily, 46 in Cubix, 45 in PicoLisp, 44 in alphuck, 43 in reticular, 42 in evil, 41 in brainf***, 40 in Minimal-2D, 39 in CoffeeScript, 38 in C, 37 in C++, 36 in Labyrinth, 35 in INTERCAL, 34 in Rail, 33 in Incident, 32 in Whirl, 31 in Modular SNUSP, 30 in Whitespace, 29 in Trigger, 28 in Brain-Flak, 27 in Perl 6, 26 in 05AB1E, 25 in Pip, 24 in Thutu, 23 in Hexagony, 22 in Underload, 21 in Nim, 20 in Prelude, 19 in Reng, 18 in Cardinal, 17 in Julia, 16 in Pyth, 15 in Haystack, 14 in Turtlèd, 13 in Ruby, 12 in Fission, 11 in Befunge-98, 10 in Befunge-93, 9 in Perl 5, 8 in Retina, 7 in Japt, 6 in SMBF, 5 in Python 2, 4 in ><>, 3 in Minkolang, 2 in V/Vim, and 1 in Python 3.

VIP score (Versatile Integer Printer): .008653 (to improve, next entry should be no more than 1018 bytes)

Verification

Most languages are verified by the TIO link above. For the others:

  • I've verified Incident by running it locally on the official interpreter (fixing a number of bugs that had been introduced by token-balancing; specifically, parts of the original Incident program weren't running).
  • For Deadfish~, I used this interpreter. Note that Deadfish~ takes the program to run interactively. As such, I fed it the polyglot on stdin, but it nonetheless prints a number of >> prompts to standard output, requesting more of the program to be input. I'm assuming that these don't count as part of the program's output, given that they're an unavoidable consequence of running any Deadfish~ program (and are similar in nature to banners printed by interpreters when they load).
  • Reng was tested using this online interpreter.
  • Modular SNUSP was tested using this online interpreter.

Explanation

Deadfish~

This was actually an incredibly easy add.

Deadfish is a fairly infamous language, being almost trivially simple, and has attracted a lot of implementations as a result of being so easy to write, and yet just complex enough to be interesting. The language has a few simple arithmetic operations on an accumulator, and not really anything else. As such, the language's only real use is printing integers other than 256.

Deadfish~ is an advanced version that adds a few extra commands. The ability to halt the program is the most important, meaning that we don't have to ensure that the program as a whole contains exactly one o. It also allows us to produce the number 48 in a slightly terser way. (That said, I spaced out a bit while writing this and completely forgot that 49 was a square number, a fact that means that the Deadfish~ code should be substantially golfable. I'm mostly aiming to have something that works, rather than something golfed. Oh well, it means more VIP/20% headroom for the next entry.)

The Deadfish~ code is appended to the end of the INTERCAL; it has to come relatively early, and that's a spot in the program that basically nobody but Cubix is parsing. The code itself is iisiis{i}ii ((2²+2)²+10×1+2 = 6²+12 = 48), followed by oh to output and exit.

Alphuck

Deadfish~ commands are lowercase letters. Alphuck commands are also lowercase letters, so it's not surprising that there was a clash. I had to add a few junk p commands to keep Alphuck balanced against the s commands in the Deadfish~ code.

Incident

Incident was fairly easy to fix when I realised what the problem was; some new tokens had been introduced overlapping two existing Incident tokens, and those were removing parts of the original Incident program. I scattered a few extra xs into the code to break up those tokens, restoring the code to how it originally worked.

Cubix

The size of the program has changed, and thus so has the size of the cube. I moved Cubix's code to the end of the Deadfish~; it now looks like @O6O4/ (control flow naturally enters from above, and will hit the / and run right-to-left along the Cubix code).

Fission

Fission was producing some extraneous output due to the INTERCAL being further left (I'm assuming that there was an unfortunate alignment of two commands that shouldn't have been aligned). I added a useless x to the left of the INTERCAL (which can probably be more fruitfully used as part of, say, the Alphuck or Deadfish~) in order to solve that issue.

\$\endgroup\$
1
  • \$\begingroup\$ Using an abstract language to answer a challenge? AWESOME! \$\endgroup\$ Commented Mar 18, 2017 at 1:39
7
\$\begingroup\$

66. Surface, 1650 bytes

#16  "(}o+?23!@)-("//*\Dv;'[af2.q]PkPPX'#CO)"14";n4
#/*0|7//```"`   [-'v][!(>77*,;68*,@;'1,@10␉␉11)(22)S␉␉(1 P''53'S^'q
#>␉
# 36!@␉`
#
#_>++++.>.+?+++++::@
#`<`
#<]}} +<[<.>>-]>[
#{
#z}
#
#=x<R+++++[D>+++++++59xL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVE4O6O@UPFACiiipsddsdoh]>@@+.---@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\).>]|
#[#[(?2?20l0v0x1k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0yx0y0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_00)
[ "]56p26q[puts 59][exit]" ,'\[' ];#/s\\/;print"24";exit}}__DATA__/
#
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.

#
'((( p\';a=a;case $argv[1]+${a:u} in *1*)echo 50;;*A )echo 54;;*)echo 58;;esac;exit;';print((eval("1\x2f2")and 9or 13)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{})){}{})>){(<{}(({}){})>)}{}({}())wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWW li ha '#}#( prin 45)(bye)46(8+9+9+9+9+=!)((("'3)3)3)"'
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39
""""
=begin
<>{nd
#sseeeemPaeueewuuweeeeeeeeeeCis:ajjap*///;.int 2298589328,898451655,12,178790,1018168591,84934449,12597/*
#define p sizeof'p'-1?"38":"37"
#include<stdio.h>
main ( ){puts( p);}/*
print 61
#}
disp 49;
#{
}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.s
=end
"""#"
#}
#sx|o51~nJ;#:p'34'3\=#print(17)#>27.say#]#print (47)#]#echo 21# xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi ax fwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwvwWWwwwwwwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm 
# sss8␛dggi2␛`|$// ''25  16*///~-<~-<~-<<<~-XCOprint("65")#s^_^_2229996#

Try it online!

VIP score (Versatile Integer Printer): .005739 (to improve, next entry should be no more than 1726 bytes)

Rundown

This program prints 66 in Surface, 65 in ALGOL 68, 64 in Agony, 63 in Brian & Chuck, 62 in Grass, 61 in S.I.L.O.S, 60 in Moorhens 2.0, 59 in Tcl, 58 in Ksh, 57 in Wise, 56 in dc, 55 in Brain-Flak Classic, 54 in Zsh, 53 in Shove, 52 in COW, 51 in Assembly, 50 in Bash, 49 in Octave, 48 in Deadfish~, 47 in Lily, 46 in Cubix, 45 in PicoLisp, 44 in alphuck, 43 in reticular, 42 in evil, 41 in brainfuck, 40 in Minimal-2D, 39 in CoffeeScript, 38 in C, 37 in C++, 36 in Labyrinth, 35 in INTERCAL, 34 in Rail, 33 in Incident, 32 in Whirl, 31 in Modular SNUSP, 30 in Whitespace, 29 in Trigger, 28 in Brain-Flak, 27 in Perl 6, 26 in 05AB1E, 25 in Pip, 24 in Thutu, 23 in Hexagony, 22 in Underload, 21 in Nim, 20 in Prelude, 19 in Reng, 18 in Cardinal, 17 in Julia, 16 in Pyth, 15 in Haystack, 14 in Turtlèd, 13 in Ruby, 12 in Fission, 11 in Befunge-98, 10 in Befunge-93, 9 in Perl 5, 8 in Retina, 7 in Japt, 6 in SMBF, 5 in Python 2, 4 in ><>, 3 in Minkolang, 2 in V/Vim, and 1 in Python 3.

Verification

Most languages can be tested with the test driver above, but 7 languages have to be tested locally (I'll try to get a TIO for surface).

  • Reng can be tested to output 19 here.

  • Modular SNUSP can be tested to output 31 here.

  • Incident was verified to test 33 via manual balancing of tokens.

  • Deadfish~ can be tested to output 48 locally, using this interpreter. Note that Deadfish~ takes the polyglot to be fed on stdin, but and prints a number of >> prompts to standard output, which are n unavoidable consequence of running any Deadfish~ program.

  • Moorhens 2.0 can be tested to output 60 using this interpreter.

  • Surface can be tested to output 66 using this interpreter run using Wine (It probably works on Windows but Windows is not a free software, so it would be forbidden for this challenge (I also don't have it so I can't test it anyway))

Explanation

Surface is an interesting language I discovered when I was writing the esolangs page for my new language Klein. Surface is a 2D language embedded on a Klein Bottle (most 2D languages are embedded on tori). I thought it was an interesting language and It would make a good addition.


Adding Surface

The first thing I did was to run the existing program in Surface (worth a shot right?). Unsurprisingly it did not print 66, but rather got stuck in an infinite loop. This is because the (...) in the first line functions as a loop with no exit condition. In order to fix this we need an escape. I tried a few things but the simplest seemed to be to add an o inside the loop. This o would send the ip downwards where it could be caught by a later part of the program. Luckily (by design) there is a > only 5 lines down. This redirects our ip to the right it passes over 6 +s bringing the total up to 6 two :s which output the 6 twice and finally we terminate with a @.

All of the other 2D languages

Adding a o to the first line screwed with pretty much every single other 2D language. We first had to add a v to the second line to realign the Befunge, I had to add an x to the 3rd to last line to realign Reng, Reticular and Haystack. Minimal 2D needed an x on the 12th line.

The Usual Suspects

Of course Prelude, Cubix and Incident all broke. I had a particular amount of trouble with fixing Cubix, but after some refactors it boiled down to just moving the capsule. Prelude was simple to fix. Incident had some weirdness but ended up working itself out.

\$\endgroup\$
7
\$\begingroup\$

70. Commercial, 1804 bytes

#16  "(}o+?23!@)-("//*\Dv;'[af2.q]PkPPX'#CO)"14";n4
#/*0|7//```"`   [-'v][!(>77*,;68*,@;'1,@10␉␉11)(22)S␉␉(1 P''53'S^'q
#>␉
# 36!@␉`
#
#_>++++.>++++++::@-----x-.+?
#`<`
#<]}} +<[<.>>-]>[
#{
#x}
#
#=x<R+++++[D>+++++++59xL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVEUPFACiiipsddsdoh]>@@+.---4O6O@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\).>]|
#[#[(?2?20l0v0x1k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0yx0y0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_00)
[ "]56p26q[puts 59][exit]" ,'\['];#/s\\/;print"24";exit}}__DATA__/
#
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.
#
'((( p\';a=a;case $argv[1]+${a:u} in *1*)echo 50;;*A )echo 54;;*)echo 58;;esac;exit;';print((eval("1\x2f 2")and 9or 13<<(65)>>65or 68)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{}) ){}{})>){(<{}(({}){})>)}{}({}())wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwvwWW li ha '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39
""""
=begin
<>{nd
utpb now 70 dollar off!
ai
utpb has been selling out worldwide!
ai are at are "6"
#sseeeemPaeueewuuweeeeeeeeeeCis:ajjap*///;.int 2298589328,898451655,12,178790,1018168591,84934449,12597/*
#define u8 "38\0"
#define p sizeof'p'-1?u8"67":"37"
#include<stdio.h>
main ( ){puts( p);}/*
print 61
#}
disp 49;
#{
}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.s
=end
"""#"
#}
#sx|o51~nJ;#:p'34'3\=#print(17)#>27.say#]#print (47)#]#echo 21# xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi os fwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm
#s a8␛dggi2␛`|$// '' 25  16*///~-<~-<~-<<<~-XCOprint("65")#s^_^_222999 rk:start | print: "69" & s rk:end |6#

VIP score (Versatile Integer Printer): .005259 (to improve, next entry should be no more than 1882 bytes)

Try it online!

Rundown

This program prints 70 in Commercial, 69 in rk-lang, 68 in Python, 67 in C11, 66 in Surface, 65 in ALGOL 68, 64 in Agony, 63 in Brian & Chuck, 62 in Grass, 61 in S.I.L.O.S, 60 in Moorhens 2.0, 59 in Tcl, 58 in Ksh, 57 in Wise, 56 in dc, 55 in Brain-Flak Classic, 54 in Zsh, 53 in Shove, 52 in COW, 51 in Assembly, 50 in Bash, 49 in Octave, 48 in Deadfish~, 47 in Lily, 46 in Cubix, 45 in PicoLisp, 44 in alphuck, 43 in reticular, 42 in evil, 41 in brainfuck, 40 in Minimal-2D, 39 in CoffeeScript, 38 in C, 37 in C++, 36 in Labyrinth, 35 in INTERCAL, 34 in Rail, 33 in Incident, 32 in Whirl, 31 in Modular SNUSP, 30 in Whitespace, 29 in Trigger, 28 in Brain-Flak, 27 in Perl 6, 26 in 05AB1E, 25 in Pip, 24 in Thutu, 23 in Hexagony, 22 in Underload, 21 in Nim, 20 in Prelude, 19 in Reng, 18 in Cardinal, 17 in Julia, 16 in Pyth, 15 in Haystack, 14 in Turtlèd, 13 in Ruby, 12 in Fission, 11 in Befunge-98, 10 in Befunge-93, 9 in Perl 5, 8 in Retina, 7 in Japt, 6 in SMBF, 5 in Python 2, 4 in ><>, 3 in Minkolang, 2 in V/Vim, and 1 in Python 3.

Verification

Most languages can be tested with the test driver above, but 6 languages have to be tested locally.

  • Reng can be tested to output 19 here.

  • Modular SNUSP can be tested to output 31 here.

  • Incident was verified to test 33 via manual balancing of tokens.

  • Deadfish~ can be tested to output 48 locally, using this interpreter. Note that Deadfish~ takes the polyglot to be fed on stdin, but and prints a number of >> prompts to standard output, which are n unavoidable consequence of running any Deadfish~ program. not checked, can someone verify this?

  • Moorhens 2.0 can be tested to output 60 using this interpreter.

  • Surface can be tested to output 66 using this interpreter not checked yet

Explanation

Commercial

Commercial has an unusual and obnoxiously strict syntax meant to sound like an infomercial. However, it also completely ignores anything that doesn't fit its syntax, which meant I just had to find a place where the other languages wouldn't notice it.

The Commercial code is this:

[var] now [value] dollar off!
[var] has been selling out worldwide!

The intervening lines were for Moorhens, and the variable name was constructed to help with some Incident tokens.

Moorhens 2.0

Commercial's code looks like this to Moorhens: jump reverse decrement roll increment push

So I had to add some words to work around that. That also caused a few minor blips with Incident, which is why both ha and are are used for Pop operations now. Currently, our Moorhens code looks like this:

duplicate ifJump pop jump reverse jump decrement roll increment push jump pop roll pop push noop long-line-of-increments reverse

(this might be a good thing to work into the test driver)

Also, because I'll lose this list if I don't add it here, here's a handful of short words I found for some operations:

  • jump = ai, ar, od, re, so
  • roll = at, alb, om, ox, to
  • pop = ha, my, pe

(int would be a jump, which would have been super helpful for an incitent issue, but it's sadly not in the Moorhens dictionary :(, oh well)

Grass

I have no clue how Grass works, but it cares about w, W, and v. I had to add 3 w's. So I begged for help in chat and @WheatWizard came to the rescue. No clue what he did, but it works!

alphuck

Commercial adds a couple s that needed to be preceded by p, so I threw a p into my Commercial variable name.

rk

I golfed the rk a little bit, which led to the os that Incident and Moorhens needed being added back to the main Moorhens line where the ax used to be (both are reverse commands).

Incident

ut had to be detokenized, as did b␠. Commercial's variable name handles both of these. Eventually, ha and ha␠ both gave me issues, which is how my came into play in the Moorhens code. Finally, "6 and "3 needed to be detokenized. The "6 is handled just after the Commercial line since I knew that was a safe spot to put mostly arbitrary text (and because I had issues with "␠ when I tried to inline that into rk). The "3 is handled in what used to be ((("'3)3)3)"'; I don't recall how that got added or what cares about it, but I needed to detokenize both "3 and )3, so it became ((("3'3)))"'.

General golfing

I found a stray space near the end of the program somewhere that I cleaned up, and I also found what must have been a Prelude-pleasing space near the end of the now-longest line that was safely removed.

\$\endgroup\$
0
7
\$\begingroup\$

89. gnuplot, 2571 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\4n;␉␉␉␉(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉
# 36!@␉`  e++++++::@ 
#~
#
#`<`
#<<<#>>]}}+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACiiipsddsdoh]>@@+.---@.>][
#x%+>+=ttt Z_*.arxxxxx4O6O@
#D>xU/-<+++L
#R+.----\   \).>]|
#[#[(?2?20l0v01k1kMoOMoOMoOMoOMOO   /"78"oo@0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0)0\\
[ "]56p26q[puts 59][exit]" ,'\['];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw  (([5]{}) ) )␉\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;'(*****************819+*+@[*99[?]*]***|!)';
#\\
""""#\
' ( <><        (          )>  ){ ({}[()] )}{\';       a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin

;print 89;exit#s
utpb now 70 dollar off!
utpb has been selling out worldwide!
#seeeemPaeueewuuweeeeeeeeeeCis:ajjappp*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1"" //*
#include<stdio.h> 
#define ␉x(d)␉#d
#define u8 "38\0\0"
main (  ){puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75\0":'??-'&1? "79":"77\0");"eg_0 ' ";}//*/
#if 0
#endif//* --... ...--
/*/
print'("72")';end;
#if 0␌
#endif//* rk:start | print: "69" rk:end<      >5b*:,1-,@
print 61
#}
disp 49;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.</+++++++>/+++<-\>+++.---.
#<<<#>>>
reg end="";print(85);reg s
=end
;"""#"#yxxxxxxy"78"\++++>/<~#class P{        function:Main(a:String[] )~Nil{83->Print();} }
#}              @:8:8\\
#s|o51~nJ;#:p'34'3   \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#sss^_^_#
#5 "25"  +/ *///X222999686#

VIP score (Versatile Integer Printer): .003646 (to improve, next entry should be no more than 2657 bytes)

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03, 38 in C99, 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11, 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11, 76 in Trefunge-98, 77 in C++14, 78 in dash, 79 in C++17, 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot

Verification

Try it Online!

Languages currently not on TIO:

Explanation

gnuplot

The intended purpose of gnuplot is plotting graphs, but we aren't doing any of that today. The main feature of gnuplot we use to work it into the polyglot is that it has # line comments that can be extended onto the next line via a backslash line continuation.

The code that does the work is.

;print 89;exit#s

This consists of an empty statement terminated by ; to prevent S.I.L.O.S recognising the print statement,the print statement, the exit command (which could be equivalently replaced with quit, but I used exit to help appease incident), and a comment containing an s to close the alphuck loop opened by the p.

All the lines before this line that do not start with # need to be made part of a comment via backslash line continuations. Depending on the parity of a line (Retina doesn't like backslashes at the end of a line unless they are escaped by another backslash on one of its parsers) and whether the line is visible to the scripting languages this is achieved by appending one of \, \\, #\ or #\\. There are two minor exception to this: tcl has similar behaviour with regards to using backslashes to continue comments onto the next line, this is fixed by using a double backslash on the line just before the tcl code as the first backslash escapes the second backslash for tcl (I think, either way it made the code work). The other minor exception was a #\\ added on a line by itself. Some of the x at the end of the longest line were removed to keep the end of that line at the correct length for Klein.

SNUSP

Because the backslash that was now added at the end of the SNUSP is a reflector a ! was added to jump over it.

Incident

For some reason I had extra tokens coming out the wazoo. The tab in the C main method brackets was changed back to being a space. The <>< in the Brain-Flak just before the shell scripts was shifted one space right to avoid (< being a token. The continuation backslash for gnuplot on the long line has a space before it to prevent \ from being a token. One of the x in the detokenizing section near the Archway was changed to a y to prevent y" from being a token. I think there was one more change I made for Incident but I don't remember what it was.

\$\endgroup\$
7
\$\begingroup\$

94. Emotinomicon, 2763 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\4n;iiipsddpsdoh coding:utf8␉␉␉␉(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉
# 36!@␉`  e++++++::@ 
#~
#y
#`<`
#<<<#>>]}}+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]>@@+.---@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\   \).>]|
#[#[(?24O6O@?20l0v01k1kMoOMoOMoOMoO MOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0 )0\\
[  "]56p26q[puts 59][exit]" ,'\['];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWw WWWWWWWWwWW/"78"oo@WWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw              (([5]{})))␉\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;'(*****************819+*+@[*99[?]*]***|!)'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p
;set print "-";print 89;exit#ss
utpb now 70 dollar off!
utpb has been selling out worldwide!
#seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppp😆😨😒😨
set ! 57
set ! 51
More 91 of thiset of re
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1"" //*
#include<stdio.h> 
#define␉ x(d)␉#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"eg5""6 27""Zinge  ";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof( "(\"           ); print'(''72'')';end!"           ); main( ){puts("92" );return 0;}
#if 0␌
#endif//* rk:start | print: "69" rk:end<(     >5b*:,1-,@
print 61
#}
disp 49;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.</+++++++>/+++<-\>+++.---.
#<<<#>>>
reg end="";print(85);reg s
=end
;"""#"#xxxxxxxy"78"\++++>/<~#class P{        function:Main(a:String[] )~Nil{83->Print();} }
#}pS9^7^8^MUOUOF@:8:8\\
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#sss^_^_#
#5 "25"  +/ *///X222999686#

(Emojis broke something in the pretty printer of the test driver. I manually fixed the above code.)

VIP score (Versatile Integer Printer): .003326 (to improve, next entry should be no more than 2851 bytes)

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03, 38 in C99, 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11, 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11, 76 in Trefunge-98, 77 in C++14, 78 in dash, 79 in C++17, 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89, 93 in Set, 94 in Emotinomicon

Verification

Try it Online!

Languages currently not on TIO:

Explanation

Emotinomicon is a language with emoji commands. The code is 😆😨😒😨. Every emoji in this code takes 4 bytes in UTF-8, so 16 bytes total. Note that you have to wait about 45 sec for online interpreter to finish.

Python 2

Python 2 doesn't like Unicode characters, even in comments. According to pep-0263, it can be fixed either with BOM (byte order mark) or by specifying encoding with magic comment. BOM is not good for editing because it is invisible and also it breaks ><>, so I used special comment. This comment must be on the first or second line and it must match regular expression ^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+) (? seems redundant). So the word coding may appear anywhere on the line after #.

I added coding:utf8 to the second line. It broke deadfish~ because the word coding contains 4 deadfish~ commands. To fix it, I placed deadfish~ code (iiipsddpsdoh) before coding. ps in deadfish~ code are for alphuck. Space before coding is for what.

Underload

Underload broke, and enclosing emojis in parens didn't work. So I tried random positions for emojis until Underload got fixed.

V

VAbstraction cuts everything before ␛dgg, so I decided to check how V would process entire file. If emojis are before ␛dgg V works as expected (prints 2, execution time about 5 minutes). However, strangely enough, if emojis are after ␛dgg then VAbstraction passes, but V fails. So do not put emojis after ␛dgg.

Alice

It was hard to find a place for Alice which doesn't break Underload. Again, parens didn't help.

Others

Cubix, prelude, incident as usual. Retina broke because I added Cubix code on odd line, fixed by moving Cubix further on even line (16).

\$\endgroup\$
2
  • 4
    \$\begingroup\$ Oh wow, you broke out the unicode. This will really open up the possibilities, until now we had believed it impossible to do so. \$\endgroup\$
    – Wheat Wizard
    Commented Jul 25, 2017 at 1:31
  • \$\begingroup\$ @Wheat Wizard I thought we just thought it would be hard. \$\endgroup\$
    – Potato44
    Commented Jul 25, 2017 at 4:26
7
\$\begingroup\$

106. Unlambda, 3286 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\4n;iiipsddpsdoh coding:utf8␉␉␉␉(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉
# 36!@␉`  e++++++::@ 
#~
#y
#`<`
#<<<#>>]}}+-[.+..]+-+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]>@@+.---@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\   \).>]|
#[#[(?2?20l0v01k1kMoOMoOMoOMoO MOO0l0ix0jor0h0h1d1114O6O@x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0 )0\\
[  "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWw WWWWWWWWwWW/"78"oo@WWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw              (([5]{})))␉\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;'(******* **********819+*+@[*99[?]*]***|!)'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9 seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppp😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡
😊♈💖
😇♈♈
😊♉♈
😇♈♈
😇♈♉
😇♈💜
😊♉♈
😊📢♈
😈♈💜
😊📢♈
😇♉💞
😊📢♉

set ! 57
set ! 51
More 91 of thiset of re9
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"5""6 27""Zinge  ";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999 99\"    ); print'(''72'')';end!"            );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0␌
#endif//* rk:start | print: "69" rk:end<(9    >5b*:,1-,@
print 61
#}
disp 49 ;9;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.</+++++++>/+++<-\>+++.---.
#<<<#>>> /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxxxxy"78"\++++>/<~#class P{        function:Main(a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#asss^_^_#
#9 "25"  +/ ppppppp            (x*n*n*n*e*s*s*s*ee*n*n*n*e*sss*e*n*n*n*ee*s*e)*///X222999686#

VIP score (Versatile Integer Printer): .002758 (to improve, next entry should be no more than 3378 bytes)

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03, 38 in C99, 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11, 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11, 76 in Trefunge-98, 77 in C++14, 78 in dash, 79 in C++17, 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89, 93 in Set, 94 in Emotinomicon, 95 in Emoji, 96 in EmojiCoder, 97 in Cubically, 98 in Archway2, 99 in 99, 100 in brainbool, 101 in K&R C, 102 in Symbolic Brainfuck, 103 in Unicat, 104 in Paintfuck, 105 in Emoji-gramming, 106 in Unlambda

Verification

Try it online!

Languages not available on TIO:

  • Japt, 7 online.
  • Moorhens, 60 local. Use moorhens.py from the v2.0-dev branch.
  • Morse, 73 local
  • Objeck, 83 local
  • RunR, 90 local
  • Emotinomicon, 94 online
  • EmojiCoder, 96 online
  • Symbolic Brainfuck, 102 local
  • Paintfuck, 104 online (9x9 grid, origin at top-left)

Explanation

Unlambda is an esolang based on the SKI combinator calculus. Its commands are:

  • ` backtick indicates function application. `FG applies F to G
  • i identity function. `ix = x
  • k constant function. ``kxy = x
  • s s combinator, this is the same as the applicative instance for functions in haskell. ```sfgx = ``fx`gx
  • c call with current continuation (call/CC). Honestly, I don't understand this command.
  • .x identity function that has side effect of printing to Stdout.
  • e exit command. Terminates the program when it applied to an argument.
  • d delay evaluation. Delays evaluation of its argument until it is forced.

All the multiple argument commands are curried, so partial evaluation is possible.

Unlambda also has # line comments.

The interpreter we are using has been included in the test driver because the interpreter on TIO crashes on characters that it doesn't recognise.

The program I started with as a base for the answer was

`e```.1.0.6i

So i tried embedding it in the before any Unlambda commands appeared in the non-commented lines (this seemed like it was necessary for how the interpreter works). This means i had to fit it in with the dc, 05AB1E and tcl. My first attempt was

[  "`e```.1.0.6i]56p26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/

This has the problem of .0 being the instruction to throw a divide by zero error in 05AB1E. So my next attempt was

[  "`e```.1'.0'.6i]56p26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/

But this has the problem of i opening an if statement in 05AB1E. It took me a while to work out how to close the if statement. It turns out we need a closing brace to do this. So next attempt was (forseeing the problem mismatched braces would cause for Brain-Flak)

[  "`e```.1'.0'.6i{}]56p26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/

This caused Brain-Flak classic to fail. My next attempt was

[  "`e```.1'.0'.6i]{}56p26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/

dc was not happy with these braces so my next idea was to put the braces after the q that quits dc and quit 05AB1E separately. I could use the if statement to hide the bc from 05AB1E. I also needed a something falsy on the top of the stack for 05AB1E. So the final code ended up being

[  "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/
\$\endgroup\$
5
  • \$\begingroup\$ I have to ask, it the character , or is it a literal form-feed? Same with , is it the character , or is it the literal horizontal tabulation? \$\endgroup\$
    – Adalynn
    Commented Aug 6, 2017 at 15:26
  • \$\begingroup\$ Literal form-feed, literal tab and near the bottom are some literal escape characters. The test driver pretty prints the source like that for us. \$\endgroup\$
    – Potato44
    Commented Aug 6, 2017 at 15:29
  • \$\begingroup\$ It might be simpler to replace i by something else - it's never evaluated, so literally any function letter works there. (Also, I'm slightly disappointed you had to use a non-standard interpreter, but I guess putting the code at the beginning of a line is too hard on other languages.) \$\endgroup\$ Commented Aug 6, 2017 at 18:48
  • \$\begingroup\$ Come to think of it, `e might be redundant - Unlambda programs are self-delimiting. \$\endgroup\$ Commented Aug 6, 2017 at 18:54
  • \$\begingroup\$ @ØrjanJohansen this interpreter will exit with a non-zero exit code if i use any command other than i as the argument to e. Also i used the e command for 2 reasons: the earlier we exit, the better and I needed to use an even number of backticks. \$\endgroup\$
    – Potato44
    Commented Aug 7, 2017 at 4:53
7
\$\begingroup\$

109. DOBELA, 3503 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\7aa*+42@n;iiipsddpsdohcoding=utf8␉␉␉␉(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉
# 36!@␉`  e++++++::@    /"78"oo@
#~
#y
#`<`
#<<<#>>]}}+-[.^+.._]+-+<[<<.>>x>-]>[       _ 
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@.>][
#x%+>+=ttt Z_*.                           _         _              _
#D>xU/-<+++L    _
#R+.----\   \).>]|
#[#[(?2?20l0v01k1k4O6O@MoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0  )0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw                       (([5]{})))␉\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and eval("\"arY\"[2]==89and 2-93or 4"))^1<<(65)>>62)or"'x"or' {}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;              '_(*****************819+*+@[*99[?]*]***|!  )'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9 seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppp😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡
😊♈💖
😇♈♈
😊♉♈
😇♈♈
😇♈♉
😇♈💜
😊♉♈
😊📢♈
😈♈💜
😊📢♈
😇♉💞
😊📢♉

set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #
More 91 of thiset of re9
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"5""6 27""Zingeg-' x?";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999 99\"    ); print'(''72'')';end!"            );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0␌
#endif//* rk:start | print: "69" rk:end<(9    >5b*:,1-,@
print 61
#}
disp 49 ;9;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxxxxy"78" \++++>/<~#class P{       function:Main(a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\                x_
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#asss^_^_#
#9 "25"   +/ ppppppp           (x*n*n*n*e*s*s*s*ee*n*n*n*e*sss*e*n*n*n*ee*s*e)*///X222999686#

VIP score (Versatile Integer Printer): .002704 (to improve, next entry should be no more than 3599 bytes)

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby 2.4.1, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03, 38 in C99, 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11, 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11, 76 in Trefunge-98, 77 in C++14, 78 in dash, 79 in C++17, 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89, 93 in Set, 94 in Emotinomicon, 95 in Emoji, 96 in EmojiCoder, 97 in Cubically, 98 in Archway2, 99 in 99, 100 in brainbool, 101 in K&R C, 102 in Symbolic Brainfuck, 103 in Unicat, 104 in Paintfuck, 105 in Emoji-gramming, 106 in Unlambda, 107 in Gol><>, 108 in Ruby 1.8.7, 109 in DOBELA

Verification

Try it online!

Languages not available on TIO:

Explanation

DOBELA is mentioned in A Brief History of 2D Programming Languages. DOBELA has two interpreters: dobelx64 (Linux, console, author Deewiant) (see also dobelx64 online) and dobgui (Windows/Wine, GUI, author me). dobelx64 is supposed to be the primary interpreter, and dobgui can be used to debug any issues with dobela.

Dobela code (with some formatting for clarity):

9        0        1
,,...,,. ,,..,,,, ,,..,,,.$^
.                           #

'0' = 48 = 00110000 = ,,..,,,,
We put appropriate bits in FIFO and then print it by hitting ^ from below.

: is generator of dots in dobela, and we need to switch all generators off as soon as possible. This is done by hitting ^ from left on line 8.

Another issue is dots moving vertically. The dots start to move right, but can be deflected with # or | or forked with +. There are 3 reasons to destroy vertically moving dots as soon as possible:

  • There are lots of generators (:) down the polyglot, if any of them is hit from above it will be switched on and start to emit dots. Program finishes when all dots are destroyed, so if any of generators is working the program will not finish. In dobgui number of active generators is displayed as a.gens in status line.
  • There are lots of forks (+) in the polyglot, and when a dot hits them dots start to multiply uncontrollably.
  • dobelx64 and dobgui are not fully compatible, and one of the incompatibilities is the handling of collisions of dots moving in perpendicular directions, see description of hello2 issues in dobgui.zip. If we want to use dobgui as debugger we need to stick to compatible behavior.

So if we have . or , followed by # or | or + later on the line we need to destroy the dots. The best way to destroy a dot is to use _, which destroys colliding dot without producing any side effects (_ is input command in dobela). For example, on line 72 we have

#<T>"3"O.</+++++++>/+++<-\>+++.---.

which becomes

#<T>"3"O._</+++++++>/+++<-\>+++.---.

If it is hard to destroy a dot before wall or fork then the dot is destroyed after it deflected/forked. Example of this is INTERCAL code on line 12, first three commas are destroyed on line 13 after they are deflected. I don't destroy them on Incident/COW line because Cubix code is constantly moving along that line, and it would be hard to maintain.

Another important incompatibility between dobelx64 and dobgui is how switching all generators works. In dobgui it is handled in reading order (lrtb order): if we have this code :$.^ then during the first cycle generator emits a dot, this dot is put in FIFO, then the generator is switched off. But in dobelx64 the generator will be switched off immediately and will not emit a dot. For the polyglot it means only one thing: all generators that come before .^ on line 8 will appear to emit one dot in dobgui before they are switched off. I replaced : with = after coding, so there are currently only two such generators (see line 4). First of them emits dots on top of another one, so they are destroyed immediately. The second generator emits a dot (in dobgui, not in dobelx64) which does no harm, so it is not a problem.

Dots moving right that does not hit any walls or commands are not a problem, they all eventually just fall of the right edge of the program. That's why it takes so many cycles to finish in dobgui - the longest line is currently 554 chars long.

To summarize, if a dot hits #, |, +, ^, $ or v from left there is a (potential) problem (aside from situations where we deliberately hit ^,$ or # as described above). If a dot hits =, : or _ from left, it is not a problem. I added _s on lines 8 (last _ is for commas from line 2), 12 (to destroy last comma), 13 (to destroy first 3 commas on line 12), 14 (to destroy dots from line 15), 17, 22, 72, 77 (to destroy a dot from line 78) (x is for Incident).

A lot of languages broke, Chance's Lily answer helped me to fix them.

\$\endgroup\$
2
  • 4
    \$\begingroup\$ So glad that write up was useful! I've been thinking we need to do another write up like that, but I think it would take a team of scientists now. :P \$\endgroup\$
    – Chance
    Commented Aug 9, 2017 at 14:01
  • \$\begingroup\$ Oh cool, you got the DOBELA interpreter working. I might have to look at it again. \$\endgroup\$ Commented Feb 10, 2018 at 21:08
7
\$\begingroup\$

110. Ruby 1.9.3, 3545 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\7aa*+42@n;iiipsddpsdohcoding=utf8␉␉␉␉(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉
# 36!@␉`  e++++++::@    /"78"oo@
#~
#y
#`<`
#<<<#>>]}}+-[.^+.._]+-+<[<<.>>x>-]>[       _ 
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@.>][
#x%+>+=ttt Z_*.                           _         _              _
#D>xU/-<+++L    _
#R+.----\   \).>]|
#[#[(?2?20l0v01k1k4O6O@MoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0  )0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw                       (([5]{})))␉\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and eval("\"ppp\".bytes.class==Array and(4)or(\"arY\"[2]==89and 3-94 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;              '_(*****************819+*+@[*99[?]*]***|!  )'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9 seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppp😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡
😊♈💖
😇♈♈
😊♉♈
😇♈♈
😇♈♉
😇♈💜
😊♉♈
😊📢♈
😈♈💜
😊📢♈
😇♉💞
😊📢♉

set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #
More 91 of thiset of re9
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"5""6 27""Zingeg-' x?";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999 99\"    ); print'(''72'')';end!"            );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0␌
#endif//* rk:start | print: "69" rk:end<(9    >5b*:,1-,@
print 61
#}
disp 49 ;9;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxxxxy"78" \++++>/<~#class P{       function:Main(a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\                x_
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#asss^_^_#
#9 "25"   +/ ppppppp           (x*n*n*n*e*s*s*s*ee*n*n*n*e*sss*e*n*n*n*ee*s*e)*///X222999686#

VIP score (Versatile Integer Printer): .002663 (to improve, next entry should be no more than 3642 bytes)

Rundown

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby 2.4.1, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03, 38 in C99, 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11, 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11, 76 in Trefunge-98, 77 in C++14, 78 in dash, 79 in C++17, 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89, 93 in Set, 94 in Emotinomicon, 95 in Emoji, 96 in EmojiCoder, 97 in Cubically, 98 in Archway2, 99 in 99, 100 in brainbool, 101 in K&R C, 102 in Symbolic Brainfuck, 103 in Unicat, 104 in Paintfuck, 105 in Emoji-gramming, 106 in Unlambda, 107 in Gol><>, 108 in Ruby 1.8.7, 109 in DOBELA, 110 in Ruby 1.9.3

Verification

Try it online!

Languages not available on TIO:

  • Japt (7) online.
  • Moorhens (60) local. Use moorhens.py from the v2.0-dev branch.
  • Morse (73) local
  • Objeck (83) local
  • RunR (90) local
  • Emotinomicon(94) online
  • EmojiCoder (96) online
  • Cubically (97) local
  • Symbolic Brainfuck (102) local
  • Paintfuck (104) online (9x9 grid, origin at top-left)
  • Gol><> (107) local, online
  • Ruby 1.8.7 and 1.9.3 (108 and 110) installed locally using rvm
  • DOBELA (109) local

Explanation

I once again dug around in the ruby changelogs for a difference we could exploit. Here we use the fact that:

#lines, #chars, #codepoints, #bytes now returns an Array instead of an Enumerator [#6670].

So we add a "".bytes.class==Array to separate 1.9.3 and 2.4.1

Alphuck

Since we added 3 ss we need three new ps. I just put these in the string we created.

"ppp".bytes.class==Array

Incident

") got tokenized so I added a space in between at the end of the eval code. Then 93 got detokenized causing 49 to become retokenized, I changed the 2-93 to 3-94 to restore the 93 token. )o also became tokenized from the addition of ors. I tried to over-tokenize it by adding another )o but pyth started complaining, and I figured its best not to touch that. So I under-tokenized it by adding a new space. If you ever have a problem with this token again you should delete this space I added. But I doubt even I will remember this, so its probably going to permanent.

\$\endgroup\$
5
  • \$\begingroup\$ It doesn't work in Ruby 1.8.7 for me. I used Ruby 1.8.7-p302 7z archive from rubyinstaller.org/downloads/archives. It prints 13 in Ruby 1.8.7-p302. Answer 108 works as expected. Ruby 1.8.7-p374 behaves the same (works for 108, fails in 110). \$\endgroup\$
    – stasoid
    Commented Aug 8, 2017 at 4:04
  • \$\begingroup\$ @stasoid Thats strange. It works for me using rvm. \$\endgroup\$
    – Wheat Wizard
    Commented Aug 8, 2017 at 4:11
  • \$\begingroup\$ Can you tell what ruby --version prints for 1.8.7 and 1.9.3? I need to know patch level. \$\endgroup\$
    – stasoid
    Commented Aug 8, 2017 at 4:36
  • \$\begingroup\$ @stasoid It looks like I posted the wrong version of the answer. I have a working version. I'll update soon. \$\endgroup\$
    – Wheat Wizard
    Commented Aug 8, 2017 at 4:37
  • \$\begingroup\$ @stasoid Ok I updated with my local version. Sorry about the delay. \$\endgroup\$
    – Wheat Wizard
    Commented Aug 8, 2017 at 5:10
7
\$\begingroup\$

55. Brain-Flak Classic, 1266 bytes

#16  "(}23!@)(" 3//*v\D@;'[af2.qc]'#)"14";n4
#/*` PkPPX (22)S"[!(>7 7*,;68*,@;'1,@␉␉␉␉ P''53'S^'q
#>␉
# >36!@␉
#`<`
#<]+<[.>-]>[
#{
#z}
#
#=x<R+++++[D>+++++++EAL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVEUPFACiiipsddsdoh]>+.-- -. >][4O6O@
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\).>]|
#[#[(}2}20l0v0x1k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0yx0y0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k10vx0v0l111111^_)0
###<$+@+-@@@@=>+<@@@=>+<?#d>+.--.|
'(p(p0 \';case $argv[1] in *1*)echo 50;;*)echo 54;;esac;exit;0';print((eval("2\x2f5")and(9)or(13))-(0and 4)^1<<(65)>>(62))or"'x"or'\{0}1{0}1{0}1{0}([9]<((((((1)(1)(1))){1}1{1}))0{1}1{1})1>0)5{(<{1}(({1}){1})>0)}{0}({1}(1))'#}#(prin 45)(bye)|/=1/24=x046(8+9+9+9+9+=!)/
__DATA__=1#"'x"//
#.;R"12"'
###;console.log 39
""""#//
=begin //
#sseeeemPaeueewuuweeeeeeeeeeCisajjap*///;.int 2298589328,898451655,12,178790,1018168591,84934449,12597/*
#define p sizeof'p'-1?"38":"37"
#include<stdio.h>
main ( )/*/
#
#"`#"\'*/{puts (p);}/*'"`"
/*
<>{#65}//
#}
disp 49#//
#{
1}<>//
$'main'//
#-3o4o#$$$
#<R>"3"O.
=end #//
"""#"#//
#}
#s|o51~nJ;#:p'34'\=#print (17)#>27.say#]#print(47)#]#echo 21
#sss8␛dggi2␛ `|1|6$//''25  16*///^_^_X222999"26

Try it online!

is a literal tab, a literal ESC character; Stack Exchange would mangle the program otherwise. I recommend copying the program from the "input" box of the TIO link below, if you want to work on it.

VIP score (Versatile Integer Printer): .007609 (to improve, next entry should be no more than 1336 bytes)

Rundown

This program prints 55 in Brain-Flak Classic, 54 in Zsh, 53 in Shove, 52 in COW, 51 in Assembly, 50 in Bash, 49 in Octave, 48 in Deadfish~, 47 in Lily, 46 in Cubix, 45 in PicoLisp, 44 in alphuck, 43 in reticular, 42 in evil, 41 in brainfuck, 40 in Minimal-2D, 39 in CoffeeScript, 38 in C, 37 in C++, 36 in Labyrinth, 35 in INTERCAL, 34 in Rail, 33 in Incident, 32 in Whirl, 31 in Modular SNUSP, 30 in Whitespace, 29 in Trigger, 28 in Brain-Flak, 27 in Perl 6, 26 in 05AB1E, 25 in Pip, 24 in Thutu, 23 in Hexagony, 22 in Underload, 21 in Nim, 20 in Prelude, 19 in Reng, 18 in Cardinal, 17 in Julia, 16 in Pyth, 15 in Haystack, 14 in Turtlèd, 13 in Ruby, 12 in Fission, 11 in Befunge-98, 10 in Befunge-93, 9 in Perl 5, 8 in Retina, 7 in Japt, 6 in SMBF, 5 in Python 2, 4 in ><>, 3 in Minkolang, 2 in V/Vim, and 1 in Python 3.

Verification

Most of the languages are tested by the test driver shown above.

  • Reng can be tested to output 19 here.

  • Modular SNUSP can be tested to output 31 here.

  • Incident was verified to test 33 on my computer.

  • Deadfish~ can be tested to output 48 using this interpreter. Note that Deadfish~ takes the polyglot to be fed on stdin, but and prints a number of >> prompts to standard output, which are an unavoidable consequence of running any Deadfish~ program.

  • Brain-Flak Classic does have a TIO but should be verified to run using this interpreter as the TIO interpreter post-dates the challenge.

Explanation

This is my first submission to this challenge, since someone has already done Brain-Flak I have to throw Brain-Flak Classic into the mix.

Brain-Flak Classic

Brain-Flak classic is the original Version of Brain-Flak. It has several key differences from regular Brain-Flak.

  • [n] prints n instead of returning -n
  • [] returns -1 instead of the stack height

Our main competator is thus Brain-Flak itself, due to the increadable overlap. We then have to exploit one of the two differences.

We simply cannot abuse [...] because as soon as Classic sees [...] it will print something and that is a problem. instead we have to use [] to differentiate between the two. If the stack is empty [] will return a truthy value in Classic (-1) and a falsy value in Brain-Flak (0). Since standard if syntax works in both languages we can use this to create an two different numbers in the two languages. Here is the code I came up with:

([]<(((((()()())){}{})){}{})>){(<{}(({}){})>)}{}({}())

Try it online!

This pushes 27 doubles it if it detects Classic and adds one. It is quite convenient that the language numbers were so close to a multiple of 2 off.

Zsh

I began work on this submission while @Chance was working on implementing Zsh. I hoped that it would not be an issue, but it immediately was. See the Zsh Bash polyglot utilizes an if statement that looks like this:

if [[ $argv[1] == *"1"* ]];

If we look at this the way Brain-Flak sees it:

   [[      [ ]          ]]

There is no problem, this evaluates as 0 and makes no changes to the stack. Even if it made anychanges to the stack those could be wiped with a couple of {} and we could be on out way. However Brain-Flak Classic sees this differently, Classic sees print -1 twice which is really bad; no amount of {} will ever unprint anything so we need to get rid of the square braces.

Not knowing Zsh or bash it took me a bit but I was able to replace the if statement with a case statement that looks like this

case $argv[1] in *1*)echo 50;;*)echo 54;;esac;exit;

This is better because it doesn't print anything, but it isn't balanced because of the )s so it errors in both the languages. This can be remidied by adding (( earlier on in the program.

Funnily enough implementing this change makes the polyglot shorter without breaking anything as far as I could tell.

Now I removed the existing Brain-Flak code (and all those weird symbols inside of it; they can't be that important right?) and replaced it with the new code.

And what would you know it it worked perfectly, the end.

except for Alphuck, Japt, Thutu, Incident, and Prelude

Alphuck

Alphuck was probably the easiest language to fix. Since both case and esac added an s two new ps had to be added to the beginning of the line to cancel them out. That was it.

Japt

Unlike alphuck, Japt was a real pain. Japt took the entire mess of parenthesis and brackets that was the new Brain-Flak code and tried its very hardest to read it as something intelligible. It failed.

The first thing Japt did not like was >). To Japt the > was interpreted as a greater than sign with nothing to operate on to the right of it. To fix this I simply had to insert something to the right of it that Japt would interpret as an object. This can be solved by just using a one digit number.

The next thing Japt didn't like {}. To Japt this sometimes reads as:

(function(){return })

It also sometimes reads it as:

()

Which it also doesn't like

When it reads as which I am not 100% clear on but putting numbers in all of the offending {}s fixes the problem.

Next up Japt doesn't know what to do with (). Once again putting numbers in them is the way to go.

Japt was still not very happy with the code complaining about something or other, but it was printing the number so I was going to spend anymore time fixing what wasn't broken.

Prelude

All the editing on the line with the Brain-Flak has caused it to become the longest line. This means I had to move the prelude code to the end of the current line. Then Prelude began its complaints about where parentheses were located. Prelude does not allow Parentheses on different lines to be in the same column. This gets to be a problem when the code you are editting around is made almost entirely of parentheses. In fact every edit from now on is pretty much followed with and then I had to go realign all the parentheses because Prelude is complaining.

Thutu

Thutu had two main problems.

  • Nested quatifiers {1}{1}

  • []

Nested quantifiers arises because Thutu is interpreting Brain-Flak as regex and doesn't know what to do when {...} is followed by {...}. It is fixed by putting things in between the two. It also doesn't like [] because regex. This is fixed with my favorite stategy of slapping a number inside of the braces.

Modular SNUSP

Since I was working while @Chance was the Zsh changes that broke SNUSP for him also broke it for me. I implemented a nearly identical fix for it so you can read #54 for the details.

Incident

All that was left broken was Cubix and Incident. I probably should have chosen to fix cubix first, but I didn't, I decided to go with Incident.

Incident is one of my favorite languages to fix. It requires a massive balancing act across pretty much the entire program. I'm still not clear on how Incident works. The thing I was told is that I want 0mo to be the middle token in the list of tokens.

Amazingly I seemed to in my destructive romp all over the 17th line of the program caused minimal damage to the program. The (( I added to the begining of the line caused (p to become a token. In order to fix this I changed ((pp to (p(p. This caused the parser to see (p 4 times instead of 3 and ignore it as a token. This would not be the end of Incident

Cubix

Asside from some font confusion Cubix was pretty easy to fix. Since the board had resized I just had to move the "capsule" that had conveniently been made for me by my predecessors to the right place. Because Cubix quickly became stuck in an infinite loop this was a tad tricky but I ended up being able to manage.

Prelude (again)

With the Cubix fix Prelude was back, with a vengence. Prelude had as I mentioned popped up a couple of times before but ultimately been easy to squash. This time I had to make nearly two dozen separate adjustments before Prelude would run.

Incident (again)

Of course fixing Prelude broke Incident. It created 9 new tokens that had to be removed in order to get the code to run. And of course removing the tokens once again broke Prelude. At this point It was starting to feel like Whack-a-mole, every fix I would make would break either Incident or Prelude, which of course would both break each other. After a couple rounds of back and forth I was able to get them to cooperate. The result is a delicate balance that will surely wreak havoc on the next competator.

Going forward

Dealing with Brain-Flak Classic in the future should be only slightly worse than dealing with Brain-Flak itself. The one thing it really doesn't like is [...]. These can be commented out for the most part.

I just dug up an old Brain-Flueue interpreter that predates this challenge so I think for my next attempt I will try to implement that one.

\$\endgroup\$
7
\$\begingroup\$

112. Pyramid-Scheme, 3671 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"   ^; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)/ \S \7aa*+42@n;iiipsddpsdohcoding=utf8␉␉␉␉(1P''53'S^'?????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/112\n
# 36!@␉`  e++++++::@   x/"78"oo@xxxxxxxxxxxxxxxxxxxxxxx-----
#~
#z#111#y#y#1111111B#_#xxxxxxxxx
#`<`
#<<<#>>]}}+-[.^+.._]+-+<[<<.>>x>-]>[       _ 
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>4O6O@@+.---@.>][
#x%+>+=ttt Z_*.                           _         _              _
#D>xU/-<+++L    _
#R+.----\   \).>]|
#[#[(?2?20l0v01k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0  )0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw                       (([5]{})))␉\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and eval("\"ppp\".bytes.class==Array and(4)or(\"ar_\"[2]==95and 3-94 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;              '_(*****************819+*+@[*99[?]*]***|!  )'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9 seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppp😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡
😊♈💖
😇♈♈
😊♉♈
😇♈♈
😇♈♉
😇♈💜
😊♉♈
😊📢♈
😈♈💜
😊📢♈
😇♉💞
😊📢♉

set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #
More 91 of thiset of re9
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"1015""6 27""Zingeg-' x?";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999 99\"    ); print'(''72'')';end!"            );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0␌
#endif//* rk:start | print: "69" rk:end<(9    >5b*:,1-,@
print 61
#}
disp 49 ;9;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxxxxy"78" \++++>/<~#class P{       function:Main(a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\                x_
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#asss^_^_#
#9 "25"   +/ ppppppp           (x*n*n*n*e*s*s*s*ee*n*n*n*e*sss*e*n*n*n*ee*s*e)*///X222999686#

VIP score (Versatile Integer Printer): .002612 (to improve, next entry should be no more than 3768 bytes)

Just squeaked in to make an improvement on the last one

Rundown

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby 2.4.1, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03, 38 in C99, 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11, 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11, 76 in Trefunge-98, 77 in C++14, 78 in dash, 79 in C++17, 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89, 93 in Set, 94 in Emotinomicon, 95 in Emoji, 96 in EmojiCoder, 97 in Cubically, 98 in Archway2, 99 in 99, 100 in brainbool, 101 in K&R C, 102 in Symbolic Brainfuck, 103 in Unicat, 104 in Paintfuck, 105 in Emoji-gramming, 106 in Unlambda, 107 in Gol><>, 108 in Ruby 1.8.7, 109 in DOBELA, 110 in Ruby 1.9.3, 111 in Del|m|t, 112 Pyramid-Scheme

Verification

Try it online!

Languages that should be tested separately:

  • Japt (7) online.
  • Moorhens (60) local. Use moorhens.py from the v2.0-dev branch.
  • Morse (73) local
  • Objeck (83) local
  • RunR (90) local
  • Emotinomicon (94) online
  • EmojiCoder (96) online
  • Cubically (97) local
  • Symbolic Brainfuck (102) local Still can't run SYMBF but it almost certainly works
  • Paintfuck (104) online (9x9 grid, origin at top-left)
  • Gol><> (107) local, online
  • Ruby 1.8.7 and 1.9.3 (108 and 110) installed locally using rvm
  • DOBELA (109) local

Explanation

Pyramid-Scheme is a lisp like language about ASCII triangles. It has a surprisingly flexible syntax. We are required to have a pyramid on the first line to serve as a main function. Pyramids not on the line or connected to another pyramid need not be well formed at all. Luckily we didn't have any ^s on the first line to begin with so we didn't need to make sure any pyramids were well formed. So I added the following pyramid to line 1

  ^
 / \
/112\
-----

I used xs to properly align it.

Whirl

We added 2 new ones so naturally we broke whirl to fix this I removed 2 1s from the del|m|t code, restoring the balance

Del|m|t

Removing the 1s changed Del|m|t's tokens so I had to add a B to fix the token

What

I had a 2/3 chance of breaking what, and I did. I added an additional ? to the beginning of the code to re-balance it. Remove this if needed.

The 2D langs

A lot happened with the 2D-langs here I broke pretty much every one of them. I'll spare the details but it was a lot of re-aligning, hair pulling and swearing.

Turtlèd

I broke Turtlèd but couldn't figure out why. Luckily Stasoid was kind enough to fix it fore me. So thanks @stasoid :D

Cubix

All this activity caused cubix to break, I moved the capsule as per routine.

Going forwards

I've added a lot of space on the 2nd and third lines, this can be used extensively for token breaking incident, it might be worth moving a couple of existing token breakers to here.

If you need to add a ^ to the first line just make sure it forms a proper pyramid. The smallest pyramid is

^
-
\$\endgroup\$
5
  • \$\begingroup\$ Link to the language? \$\endgroup\$ Commented Aug 11, 2017 at 6:40
  • \$\begingroup\$ Incident tokenizer worked incorrectly. It reported " #" to be token, while actually it is not. Incilite shows that it is not a token because it overlaps with "#\n". I think tokenizer worked incorrectly because it read polyglot from command line. I changed it to read from file instead, it works as expected now. Also I fixed Incident. \$\endgroup\$
    – stasoid
    Commented Aug 11, 2017 at 8:44
  • \$\begingroup\$ Thanks for disabling V, I didn't realize it takes so long to execute - 50% of total time (13 of 26 sec). \$\endgroup\$
    – stasoid
    Commented Aug 11, 2017 at 12:55
  • 3
    \$\begingroup\$ Ok, I am confused now. DJMcMayhem said in a comment to this answer that he doesn't know why V is so slow, but it is quite obvious - there is a 100ms delay between each key stroke in v.py key_stroke(). Commenting out time.sleep drops execution time of entire polyglot (not VAbstraction) from 6 min to 4 sec. \$\endgroup\$
    – stasoid
    Commented Aug 11, 2017 at 14:55
  • \$\begingroup\$ @stasoid I just reported this on the github for V with a link to these comments. \$\endgroup\$
    – Potato44
    Commented Aug 12, 2017 at 14:02
7
\$\begingroup\$

125. Gammaplex, 4631 bytes

#16  "?63(o?23!*# #@"/*"r"{\Dv;'[af2.q]PkPPX)\('#CO"14"   ^; */
#/*0|7//```"`  [>.>.])[-'][(x>77*;,68*,@,1',;# l1011)(22)/ \S \7aa*+42@n;iiipsddpsdoh coding=utf8␉␉␉␉(1P''53'S^'?????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>␉xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxOBxxxxxV/112\n
# 36!@␉`  e++++++::@    / "78"oo@xxxx h#115 o# doxe b xx-----
#cxx#z#111#y#y#11111D#_#x 
#~==++++++++++++++++++++++++++++++++++++++++x+++++++++.._+++++++.
#`<`============================================================
#<<<#>>]}}+-[.^+.._]+-+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q       L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@.>][
#x%+>+=ttt Z_*.                              _       x _              _
#D>xU/-<+++L    _
#R+.----\   \).>]|
#[#[(?2?20l0v01k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00@O6O4/m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0)0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                      (([5]{})))␉\';';print(( eval("1\x2f 2") and 9or 13<< (65)>>65or 68)-(0 and eval("\"ppp\".bytes.class==Array and 4or(\"ar_\"[2]==95 and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;              '_(*****************819+*+@[*99[?]*]***|!  )'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*) echo 58;;esac;exit;#(((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9seeeemPaeueewuuweeeeeeeeeeCis:aj (japppppp😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡
😊♈💖
😇♈♈
😊♉♈
😇♈♈
😇♈♉
😇♈💜
😊♉♈
😊📢♈
😈♈💜
😊📢♈
😇♉💞
😊📢♉
7 UP
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL

You can see a y and a x here. <
>SET y TO 88. <
>SET x TO 32. <
>PUT x IN y. <
>X y. PPVs""o
set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #
More 91 of thiset of re9 red down one blue up red down one blue up red up one red right two blue up ssswwwWWWwWWWWWwWWWWWWWwWWWWWWWWW
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "//"
char*x[]={"23 7 12 1 ",
"z c #0C8302",
"b c #B87A63",
"_ c #0000C0",
"d c #708FB7",
"e c #58007B",
"f c #FFC0FF",
"O c #FFFFFF",
"y c #FFFF00","c c black","g c green","x c blue","o c magenta",
"fceyyyyyyyyyyyyyyyyyyyz",
"fcbyyyyyyyyyyyyyyyyyyyz",
"fcbyyyyyyyyyyOyOdObOOOO",
"fcggyyyyyyyygOOOOOOOOOO",
"fcccccccccccccccccccccc",
"fffoOOOxxxxx_oOxxx_Oxo_",
"fffOOOOxxxxxOOOxxxOOc__"};//"
int  y(){puts ( sizeof (0,u8)-5?u8"67":*u8""?"37":x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77" );"21015""6 27""Zingeg-' ?";return 2;}int z=0;int   q(int a,int b){return b;}main(){q(z++,z++)?puts("124"):y  ();}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999 99\"    ) ;print'(''72'')';end! "           );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0␌
#endif//* rk:start | print: "69" rk:end<9      >5b*:,1-,@
print 61
#}
disp 49 ;9;
#{
}{}<>       K y7g+H           ;
$'main'3x            #     $  |
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>;+=4C++.---.
#<<<#>>>  /                  44
reg end="";print(85);reg s#+++;+++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxxxxy"78" \++++>/<~#class P{       function:Main(a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\                 _@125iRE
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47  ) #]#echo 21#fWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~-COprint("65")#asss^_^_# 
#9 "25"   +/ ppppppp           (x*n*n*n*e*s*s*s*ee*n*n*n*e*sss*e*n*n*n*ee*s*e)*///V222999686#

VIP score (Versatile Integer Printer): .002371 (to improve, next entry should be no more than 4742 bytes)

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt 1.4, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby 2.4.1, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03(gcc), 38 in C99(gcc), 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11(gcc), 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11(gcc), 76 in Trefunge, 77 in C++14(gcc), 78 in dash, 79 in C++17(gcc), 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89(gcc), 93 in Set, 94 in Emotinomicon, 95 in Emoji, 96 in EmojiCoder, 97 in Cubically, 98 in Archway2, 99 in 99, 100 in brainbool, 101 in K&R C(gcc), 102 in Symbolic Brainfuck, 103 in Unicat, 104 in Paintfuck, 105 in Emoji-gramming, 106 in Unlambda, 107 in Gol><>, 108 in Ruby 1.8.7, 109 in DOBELA, 110 in Ruby 1.9.3, 111 in Del|m|t, 112 in Pyramid Scheme, 113 in ADJUST, 114 in Axo, 115 in xEec, 116 in Piet(XPM), 117 in Stones, 118 in MarioLANG, 119 in ImageFuck, 120 in TRANSCRIPT, 121 in Braincopter, 122 in Monkeys, 123 in Mycelium, 124 in C(clang), 125 in Gammaplex

Verification

Try it online!

Languages that are not in the driver:

  • Japt (7) online.
  • Moorhens (60) local. Use moorhens.py from the v2.0-dev branch.
  • Objeck (83) local
  • RunR (90) local
  • Emotinomicon (94) online
  • EmojiCoder (96) online
  • Cubically (97) local
  • Symbolic Brainfuck (102) local
  • Paintfuck (104) online (9x9 grid, origin at top-left)
  • Gol><> (107) local, online
  • Ruby 1.8.7 and 1.9.3 (108 and 110) installed locally using rvm
  • Piet (116) local
  • Stones (117) local
  • ImageFuck (119) local
  • Braincopter (121) local
  • Mycelium (123) local

Explanation

Gammaplex is a 2D language with graphical output. I used this interpreter.
Gammaplex programs can have explicit entry point @. If there are multiple @ the last one is used.
The code that prints 125:

@125iRE

125 puts 125 on the stack in Labyrinth fashion (each digit is added to top of stack multiplied by 10). i prints integer at current pixel position (which is (0,0), top left). R refreshes the screen to show the changes. There is no way to quit Gammaplex program from code. E "ends" the program by entering infinite loop, user can press Esc, 2 to exit the program.

Gammaplex Abstraction test is included in the test driver, it prints 125 if Gammaplex interpreter would print 125. Abstraction test requires the exact @125iRE code to be present, no spaces or other noops are allowed.

Gammaplex interpreter reads code unlike other 2D languages: it considers the length of the first line to be the width of codespace, and the rest of the code is read in chunks of that length, regardless of newlines. All bytes with value < 32 are ignored. This means that Gammaplex code may end up anywhere on the line, so this can happen:

................@125
iRE.................

This of course will not work in Gammaplex. Abstraction test detects such situations and suggests by how many bytes the code should be shifted to be not splitted. Unlike Cubix, spaces can be used to align Gammaplex code.

Gammaplex code is expected to move from time to time, so I placed it after _ on #}S9^7^8^MUOUOF line. Note that it must be no @s after Gammaplex code.

Test driver updates: don't escape printable ascii in test results (for Prelude/Gammaplex errors), escape everything else (for Incident) [^\w][^\x20-\x7E].

\$\endgroup\$
7
\$\begingroup\$

132. YABALL, 5244 bytes

#16  "?63(o?23!*# #@"/*"r"{\Dv'[af2.q]PkPPX)\(9 9'#CO"14" ^  */
#/*0|7//```"`  [>.>.])[-'][(x>77*,68*,@'1    #  1011)(22)/ \S \7aa*+42@n;iiipsddpsdoh coding=utf8␉␉␉␉(1P''53'S^'?????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxOBxxxxxV/112\n␉
# 36!@␉`  e++++++::@    / "78"oo@xxxx h#115 o# doxe b xx-----
#c#z#111#y#y#y#_#11111TaTaxTaTbTbTbxRtRtRtxVkVkVk
#~==++++++++++++++++++++++++++++++++++++++++x+++++++++.._+++++++.
#`<`============================================================
#<<<#>>]}}+-[.^;+;;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]+-+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q       L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@.>][
#x%+>+=ttt Z_*.                              _         _              _
#D>xU/-<+++L    _
#R+.----\   \).>]|
#[#[(?2?20l0v01k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l@O6O4/111111^_0     )0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                      (([5]{})))␉\';';print(( eval("1\x2f 2") and 9or 13<< (65)>>65or 68)-(0 and eval("\"ppp\".bytes.class==Array and 4or(\"ar_\"[2]==95 and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;              '_(*****************819+*+@[*99[?]*]***|!  )'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;;*1*) echo 50;;*) echo 58;;esac;exit;#(((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9seeeemPaeueewuuweeeeeeeeeeCis:aj (japppppp😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→
😊♈💖
😇♈♈
😊♉♈ +-------+
😇♈♈ |$0011 \|
😇♈♉ |/1000 /|
😇♈💜|\ 0011\|
😊♉♈ |/01 00/|
😊📢♈|\ 0011\|
😈♈💜|@ 0110/|
😊📢♈|       |
😇♉💞+-------+
😊📢♉
7 UP
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
You can see a y and a x here. <><

>{-<
>SET y TO 88. <
>SET x TO 32. <

>PUT x IN y. <
>X y. PPQs""o<
>-}

set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #
More 91 of thiset of re9 red down one blue up red down one blue up red up one red right two blue up ssswwwWWWwWWWWWwWWWWWWWwWWWWWWWWW
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "//"1
char*x="23 12 30 1 "
"z c #0C8302""b c #B87A63""_ c #0000C0""d c #708FB7""e c #58007B""f c #FFC0FF""O c #FFFFFF""y c #FFFF00"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""m c #CA007F""n c #330001 ""q c #E60000"
"r c #FF8000""t c #FF00BC""u c #008080""T c #C3C3C8"
"A c #0040C0""B c #C00040""C c #C04000""G c #008000""E c #808000""F c #00C040"
"l c black""g c green""x c blue""o c magenta""c c cyan"
"fhtezAyAgBBBBCB_gxggxGc"
"fiTuggggggggggggggEFxGc"
"fjTuggggggggggggggggggc"
"fkTuxgggggggggggggggggc"
"fmyugxgggggggxOOOOOOOOr"
"fnbyyyyyyyyyyyyyyyyyyyz"
"fqbyyyyyyyyyyyyyyyyyyyz"
"flbyyyyyyyyyyOyOdOTTTTT"
"flggyyyyyyyygOOOOOOOOOO"
"fllllllllllllllllllllll"
"ffoOOOOOOOxxxxx_oOxx_fx"
"OOOOOOOOOOxxxxxOOOxxlxx";//"
int  y(){puts ( sizeof (0,u8)-5?u8"67":*u8""?"37":x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77" );"21015""6 27""Zingeg-' ?";return 2;}int z=0;int   q(int a,int b){return b;}main(){q(z++,z++)?puts("124"):y  ();}//*/
#1"" /*/

1<2

>main=putStr"128"
#1"" /*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999fi 99\"  ) ;print'(''72'')';end! "           );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0
#endif//* rk:start | print: "69" rk:end 9        @,-1,:*b5<>␌
print 61
#}
disp 49 ;9;
#{
}{}<>       K y7g+H           ;
$'main'3x            #     $  |
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>;4=C+++.---.\_!+++++++++++++++++++++++++++++++++++++++++++++++++.++.-.@
#<<<#>>>  /                  44
reg end="";print(85);reg s#+++;+++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxxcly"78" \++++>/<~#class P{       function:Main(a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\     @,,1'1'<>   _@125iRE
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47  ) #]#echo 21 #fWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$6~-<~-<~-<<<~- COprint("65")#asss^_^_# 
#9 "25"   +/ ppppppp           (x*n^*n*n*e*s*s*s*ee*n*n*n*<>e*sss*e*n*n*n*ee*s*e)*///Q222999686#

VIP score (Versatile Integer Printer): .002280 (to improve, next entry should be no more than 5364 bytes)

This program prints 1 in Python 3, 2 in V/Vim, 3 in Minkolang, 4 in ><>, 5 in Python 2, 6 in SMBF, 7 in Japt 1.4, 8 in Retina, 9 in Perl 5, 10 in Befunge-93, 11 in Befunge-98, 12 in Fission, 13 in Ruby 2.4.1, 14 in Turtlèd, 15 in Haystack, 16 in Pyth, 17 in Julia, 18 in Cardinal, 19 in Reng, 20 in Prelude, 21 in Nim, 22 in Underload, 23 in Hexagony, 24 in Thutu, 25 in Pip, 26 in 05AB1E, 27 in Perl 6, 28 in Brain-Flak, 29 in Trigger, 30 in Whitespace, 31 in Modular SNUSP, 32 in Whirl, 33 in Incident, 34 in Rail, 35 in INTERCAL, 36 in Labyrinth, 37 in C++03(gcc), 38 in C99(gcc), 39 in CoffeeScript, 40 in Minimal-2D, 41 in brainfuck, 42 in evil, 43 in reticular, 44 in alphuck, 45 in PicoLisp, 46 in Cubix, 47 in Lily, 48 in Deadfish~, 49 in Octave, 50 in Bash, 51 in Assembly, 52 in COW, 53 in Shove, 54 in Zsh, 55 in Brain-Flak Classic, 56 in dc, 57 in Wise, 58 in Ksh, 59 in Tcl, 60 in Moorhens, 61 in S.I.L.O.S, 62 in Grass, 63 in Brian & Chuck, 64 in Agony, 65 in ALGOL 68, 66 in Surface, 67 in C11(gcc), 68 in Python 1, 69 in rk-lang, 70 in Commercial, 71 in what, 72 in Fortran, 73 in Morse, 74 in Archway, 75 in C++11(gcc), 76 in Trefunge, 77 in C++14(gcc), 78 in dash, 79 in C++17(gcc), 80 in Klein 201, 81 in Klein 100, 82 in Brain-Flueue, 83 in Objeck, 84 in Klein 001, 85 in zkl, 86 in Miniflak, 87 in Alice, 88 in PingPong, 89 in gnuplot, 90 in RunR, 91 in Cood, 92 in C89(gcc), 93 in Set, 94 in Emotinomicon, 95 in Emoji, 96 in EmojiCoder, 97 in Cubically, 98 in Archway2, 99 in 99, 100 in brainbool, 101 in K&R C(gcc), 102 in Symbolic Brainfuck, 103 in Unicat, 104 in Paintfuck, 105 in Emoji-gramming, 106 in Unlambda, 107 in Gol><>, 108 in Ruby 1.8.7, 109 in DOBELA, 110 in Ruby 1.9.3, 111 in Del|m|t, 112 in Pyramid Scheme, 113 in ADJUST, 114 in Axo, 115 in xEec, 116 in Piet(XPM), 117 in Stones, 118 in MarioLANG, 119 in ImageFuck, 120 in TRANSCRIPT, 121 in Braincopter, 122 in Monkeys, 123 in Mycelium, 124 in C(clang), 125 in Gammaplex, 126 in Nhohnhehr, 127 in Deltaplex, 128 in Haskell, 129 in Brainloller, 130 in Boolfuck, 131 in Extended Brainloller, 132 in YABALL

Verification

Try it online!

Languages that are not in the driver:

  • Japt (7) online.
  • Moorhens (60) local. Use moorhens.py from the v2.0-dev branch.
  • Objeck (83) local
  • RunR (90) local
  • Emotinomicon (94) online
  • EmojiCoder (96) online
  • Cubically (97) local
  • Paintfuck (104) online (9x9 grid, origin at top-left)
  • Ruby 1.8.7 and 1.9.3 (108 and 110) installed locally using rvm
  • Stones (117) local
  • ImageFuck (119) local
  • Braincopter (121) local
  • Mycelium (123) local
  • Deltaplex (127) local
  • Brainloller (129) local
  • Boolfuck (130) local
  • Extended Brainloller (131) local
  • YABALL (132) local

Explanation

YABALL is language that in someways behaves like a 2D language and in others like a 1D language. It has 2 modes: normal mode, and reverse mode. Normal mode is where most of YABALL's commands are. Reverse mode has only commands for flow control. When in normal mode the IP travels along lines left to right continuing onto the next line if it reaches the end of a line. In reverse mode the IP travels right to left and goes upwards when it reaches the end of a line. The top line is connected to the bottom line as far as the line wrapping behaviour is concerned.

The commands in normal mode are the same as brainfuck with the exception of [ & ] and the additional commands ?, @, ^ & v. ^ & v unconditionally shift the IP up or down a row respectively. [ sends the IP down one row if the current cell is non-zero. ] moves up a row and switches to reverse mode. ? switches to reverse mode. @ ends the program.

The commands in reverse mode are !, 6 & 9. ! switches to normal mode. 6 goes down 1 row. 9 goes up one row.

The YABALL in the polyglot enters reverse mode very early with a ?. It is then sent to the second line with the 6 in #16. Being in reverse mode we then wrap to the end of the first line. Before we hit a 9 that was added just before 'CO"14" (actually 2 9s were added because of 99) that sends us to the end of the polyglot.We keep heading through the end of the polyglot in reverse mode hitting a few 9s on the way until we reach the Archway line.

At the end of the Archway is where the main YABALL code is. The ! switches us to normal mode. The line of + increments a cell till it has value 49 before we print with ., minor adjustments are made with - & + to print the 3 and 2. the program then ends at the @

!+++++++++++++++++++++++++++++++++++++++++++++++++.++.-.@

Because of the extra + now at the end of the Archway i redirect it with \ off the bottom of the polyglot. _ has also been added to catch the . for DOBELA.

+++.---.\_

Symbolic brainfuck

When I added Symbolic brainfuck to the driver I discovered it was using its current cell value as exit code so I added a to move to an empty cell.

\$\endgroup\$
7
\$\begingroup\$

146. Curry, 6292 bytes

#16  "?63(o?23!*# #@"/*"r"{\D v'[af2.q]PkPPX)\(9 9'#CO"14"^  */
#/*0|7//```"`  [>.>.])[-'][(  >77*,68*,@'1   #  1011)(22)/ \S \7aa*+42@n;EEEEEδΘΔΔΔΘΔΘλ iiipsddpsdoh k zzzzkf kf k zzzzzd kf k zzzzza kf bfz( coding=utf8␉␉␉␉1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>c#z#111#y#y#y#_#11111xxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxx/112\n␉
# 36!@␉`  e++++++::@    / "78"oo@     h#115 o# doxe b  x-----
#xTaTaTa TbTbTbRtRtRtVkVkVkRcRcRcBkBkBkLzLzLzxxxxxxxxxxxxxxxxxxxx
#~==+++++++++++++++++++++++++++++++++++++++++++++++++.._+++++++.
#`<`============================================================     x
#<<<#>>]}}+-[.^;+;;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]+-+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q       L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@._+>][
#x%+>+=ttt Z_*.                              _         _              _
#D>xU/-<+++L    _
#R+.----\   \).>]|
#[#[(?2?20l0v01k1kMoOMoOMoOMoOMOOxx4O6O@ 0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l111111^_0    )0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>;?\:-._++._++++._#/<?\>3-++._6+---2._#</++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWW\WWWWwWWWWwWWWWW/WW\wWWWWWWWWwwwwvwWW/WwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                  (([5]{})))␉\';';print(( eval("1\x2f 2") and 9or 13<< (65)>>65or 68)-(0 and eval("\"ppp\".bytes.class==Array and 4or(\"ar_\"[2]==95 and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;              '_(*****************819+*+@[*99[?]*]***|!  )'
#\\
""""#\
' ( <><        (         x)>  ){ ({}[()]  )}{\';      a=$(printf \\x00    ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;;*1*) echo 50;;*) echo 58;;esac;exit;#(((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit# ss9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9seeeemPaeueewuuweeeeeeeeeeCis:aj (japppppp⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→
밠밠따빠빠맣박다맣받다맣희맣희
😊♈💖
😇♈♈ +-------+
😊♉♈ |$0011 \|
😇♈♈ |/1000 /|
😇♈♉ |\ 0011\|
😇♈💜|/01 00/|
😊♉♈ |\ 0011\|
😊📢♈|@ 0110/|
😈♈💜|       |
😊📢♈+-------+---
😇♉💞
😊📢♉⠀⢃⠛⠋
1  1  ! !
2   !    !
1      !!
1  x*
53  +
1  x*
51  +
1  x*
34  +
15  +                    ?   ?@             !
1   *                   ?@    ?
1   !                     +   *
1                       ?  !  ?
1     !                  ? @ ?
x  x    xx   x  x
x xx  xxxxx  xxx x
x xx x x    x x
x  xx  x    x x   x  x
x x    x   x  x   xxx x
x x    x   x  x  x x
 x x   x  x   x  x x x
 x x   x  x   x x  x xx
x   x  x x      x  xx  x
x   x    x    xx   x
x    x xx     xx
x    x xx     x
 xxxx  x

7 UP
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
You can see an x here.<<11

>{-<<
>SET x TO 120.
>X x. PPQ-}
>main=print 146{-0s

set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #s""o
More 91 of thiset of re9 red down one blue up red down one blue up red up one red right two blue up ssswwwWWWwWWWWWwWWWWWWWwWWWWWWWWW baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h>
#define␉ x(d)␉#d
#define u8 "38\0 "//"16
char*x="24 10 31 1 "
"a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000"
"o c #FF8000""t c #FF00BC""u c #008080"
"A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000"
"H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA"
"r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF"
"HHHahtdegggggggyrggggggc"
"IHHaixuEFbGGbggbryAEGRgc"
"JJHajyurbgbgggggggb____o"
"IJHakmyyyyyyyyyyyyyyyyye"
"I__almyyyyyyyyyyyyyyyyye"
"K__anmyyyyyyyyyyyyyy_y_e"
"HH_aqggyyyyyyyyg____m_Je"
"JH_axxxxxxxxxxxxxxxxxxxx"
"K__aaaam___bbbbbBm_bbBab"
"K__________bbbbb___bbxbb";//"
int  y(){puts ( sizeof (0,u8)-5?u8"67":*u8""?"37":x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77" );"21015""6 27""Zingeg-' ?";return 2;}int z=0;int   q(int a,int b){return b;}main(){q(z+=1, z)?puts("124"):  y();}//<*/

#1""/*/

>main=putStr"128"--}

#1""/*/

#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999   99\"  ) ;print'(''72'')';end! "           );main( ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0
#endif//* rk:start | print: "69" rk:end 9        @,-1,:*b5<>␌
print 61
#}
disp 49 ;9;
#{
}{}<>       K y7g+H           ;
$'main'3x            #     $  |
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>;4=C+++.---.\_<!+++++++++++++++++++++++++++++++++++++++++++++++++.++.-.>@
#<<<#>>>  /                  44
reg end="";print(85);reg s#+++;+++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#pxxxcl y"78" \++++>/<~#class P{       function:Main (a:String[] )~Nil{83->Print();} }
#}S9^7^8^MUOUOF@0:8:8\\     @,,1'1'<>   _     @125iRE
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47  ) #]#echo 21 #fWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8␛dggi2␛M`|$//''  1$>{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}[<<}<<<<<}<<}<<<<}<<<}}}<}}<}}<}}<}}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}+++++++++++++++++++++++++++++++++++++++++++++++++._++.._#]6~-<~-<~-<<<~-COprint("65")#asss^_^_# 
#9 "25"   +/ ppppppp           (x*n^*n*n*e*s*s*s*ee*n*n*n*<>e*sss*e*n*n*n*ee*s*e)*///Q222999686#

VIP score (Versatile Integer Printer): .002021 (to improve, next entry should be no more than 6419 bytes)

Verification

Try it online!

Languages that are not in the driver:

  • Japt (7) online.
  • 05AB1E (26) local
  • Moorhens (60) local. Use moorhens.py from the v2.0-dev branch.
  • Objeck (83) local
  • RunR (90) local
  • Emotinomicon (94) online
  • EmojiCoder (96) online
  • Cubically (97) local
  • Paintfuck (104) online (9x9 grid, origin at top-left)
  • Ruby 1.8.7 and 1.9.3 (108 and 110) installed locally using rvm
  • ImageFuck (119) local
  • Braincopter (121) local
  • Mycelium (123) local
  • Deltaplex (127) local
  • Brainloller (129) local
  • Extended Brainloller (131) local
  • Wierd (136) online
  • Gaot++ (140) local
  • Floater (141) local
  • BitChanger (142) local
  • MiLambda (145) online
  • Curry (146) local

Explanation

Curry is a language that is based off of Haskell that adds logic programming features like those found in Prolog. The distribution of curry I am using is PAKCS, other distributions may work.

Like Haskell, Curry supports literate programming. The literate processor for Curry ignores lines starting with #, unlike the Haskell literate processor. Unlike Haskell, the literate processor does not have a quiet mode that I could find so all lines beginning with > must have either another line beginning with > or a blank line adjacent to them.

The curry code is located with the TRANSCRIPT

>{-<<
>SET x TO 120.
>X x. PPQ-}
>main=print 146{-0s

on the top line {- opens a block comment. << is there to balance the new >s introduced. -} on the third line closes the block comment. main=print 146 does the printing. {- opens another block comment. 0 and s are for Whirl and Alphuck, respectively.

There were also changes in the haskell code

#1""/*/

>main=putStr"128"--}

#1""/*/

The empty lines around the main function are for Curry's literate processor. There are also empty lines above and below the C preprocessor directives because of Retina. The --} is a line comment in Haskell and closes the block comment in Curry.

Incident

fi has been removed from the string in the Fortran to detokenize it. --- was added onto the outside of the Nhohnhehr rectangle to detokenize +---. Lz was moved from near the DOBELA to with the rest of the tokens at the start of the polyglot to shift the token balance.

\$\endgroup\$
7
\$\begingroup\$

152. ChuckScript, 6934 bytes

#16  "?63(o+?50;+'51;'# #@"/*"r"{\D-v e-'[af2.q]PkPPX)\(9 9'#CO"14"^*/
#/*0|7//```"`  [>.>.])[-'][(        >77*,68*,@'_            )(22)S/ \\7aa*+42@n;EEEEEδΘΔΔΔΘΔΘλiiipsddpsdoh k zzzzkf kf k zzzzzd kf k zzzzza kf bfz(coding=utf8				1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????! 
#>c#z#111#y#y#y#_#11111111xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/112\	
# 36!@	`  e++++++::@          /"78"oo@    h#115 o# do           x-----
#xTaTaTa TbTbTbRtRtRtVkVkVkRcRcRc -BkBkBkLzLzLzxxxxxxxxxxxxxxxxxxxx
#~==++++++++++++++++++++++++++++++ +++++++++++++++++++.._+++++++.
#`<`============================================================   x
#<<<#>>]}}+-[.^+;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]+-+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++              L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@._+>][
#x%+>+=ttt Z_*.                                    _         _              _
#D>xU/-<+++L
#R+.----._>]|
#[#[(+?+?0l0v01k1kMoOMoOMoOMoOMOOx0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoO4O6O@MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l111111^_0   )0\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\[999'];#/s\\/;print"24"; exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>;?\:-._++._++++._#/<?\>3-++._6+---2._#</++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWW\WWWWwWWWWwWWWWW/WW\wWWWWWWWWwwwwvwWW/WwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                  (([5]{})))\';';print(( eval("1\x2f 2") and 9or 13<< (65)>>65or 68)-(0 and eval("\"ppp\".bytes.class==Array and 4or(\"ar_\"[2]==95 and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{( <(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*.*]*.*(<\>]xxxxxxxxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39; 999;
#\\
""""#\
' ( <><        (         x)>  ){ ({}[( )] )}{\';      a=$(printf \\x00    ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;;*1*) echo 50;;*) echo 58;;esac;exit;#(((('))))#\
=begin
#p            +555!/2+55x%6E2x********>********************828+*+@[*9 9[?]*]*****|!
;set print "-";print 89;exit# ss9 111<e$P+x+x+x+x+x*D*x+x+x+1+x+1E!s
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9 seeeemPaeueewuuweeeeeeeeeeCis:ajjapppppp⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→
밠밠따빠빠맣박다맣받다맣희맣희うんたんたんたんたんうんうんうんうんうんたんうんうんうんたんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんたんたんうんうんうんうんたんたんうんたんたんたんうんうんうんたんうんうんたんうんうんたんうんうんたんうんたんうんうんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんうんうん
😊♈💖
😇♈♈ +-------+
😊♉♈ |$0011 \|
😇♈♈ |/1000 /|
😇♈♉ |\ 0011\|
😇♈💜|/01 00/|
😊♉♈ |\ 0011\|
😊📢♈|@ 0110/|
😈♈💜|       |
😊📢♈+-------+---
😇♉💞
😊📢♉⠀⢃⠛⠋
1  1  ! !
2   !    !
1      !!
1  x*
53  +
1  x*
51  +
1  x*
34  +
15  +                    ?   ?@             !
1   *                   ?@    ?
1   !                     +   *
1                       ?  !  ?
1     !                  ? @ ?
x  x    xx   x  x
x xx  xxxxx  xxx x
x xx x x    x x
x  xx  x    x x   x  x
x x    x   x  x   xxx x
x x    x   x  x  x x
 x x   x  x   x  x x x
 x x   x  x   x x  x xx
x   x  x x      x  xx  x
x   x    x    xx   x
x    x xx     xx
x    x xx     x
 xxxx  x

7 UP
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
Yo::=~147
::=
You can see an x here.<<110[0]{472454523665721469465830106052219449897} 9

>{-<<
>SET x TO 120.
>X x. PPQ-}
>main=print 146{-ss

set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #"1015""6027""ing-?"ye h m 3 ;p se
More 91 of thiset of re9 red down one blue up red down one blue up red up one red right two blue up ssswwwWWWwWWWWWwWWWWWWWwWWWWWWWWW baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591 ,84934449, 12597
#endif//*
#1""//*
#include<stdio.h>
#define  x(d) #d
#define u8 "38\0 "//"16
char*x="24 10 31 1"
"a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000"
"o c #FF8000""t c #FF00BC""u c #008080"
"A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000"
"H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA"
"r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF"
"HHHahtdegggggggyrggggggc"
"IHHaixuEFbGGbggbryAEGRgc"
"JJHajyurbgbgggggggb____o"
"IJHakmyyyyyyyyyyyyyyyyye"
"I__almyyyyyyyyyyyyyyyyye"
"K__anmyyyyyyyyyyyyyy_y_e"
"HH_aqggyyyyyyyyg____m_Je"
"JH_axxxxxxxxxxxxxxxxxxxx"
"K__aaaam___bbbbbBm_bbBab"
"K__________bbbbb___bbxbb";//"
int  y(){puts ( sizeof (0,u8)-5?u8"67":*u8""?"37":x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77" );return 2;}int z=0;int q(int a,int b   ){return b;}main( ){q(z+=1,z)?puts("124"):y();}//<*/
#1""/*/
 
>main=putStr"128"--}
 
#1""/*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999   99\"  ) ;print'(''72'')';end! ");  main(   ){puts('??-'&1?"101":"92");return(9-9+9 -9);}
#if 0
#endif//* rk:start | print: "69" rk:end 9                 @,-1,:*b5<>
print 61
#}
disp 49 ;9;
#{
}{}<>       K yya+-        &  g+$
$'main'3x            A=AgRA;       AC
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.\_<!+++++++++++++++++++++++++++++++++++++++++++++++++._++.-.>@
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#xxxxclxx"78" \++++>/<~#class P{function:Main (a:String[]  )~Nil{83->Print();}}
#}pS9^7^8^MUOUOF@0:8:8     \\     @,,1'1'<>   _@125iRE
#s|o51~nJ;#:p'34'3         \=#print(17)#>27.say#]# print(47)#]#echo 21#WWWWWWWWWWWWWWWwWWWWWWWWWWWWwv>++++
#s8dggi2M`|$//''         $>{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}[<<}<<<<<}<<}<<<<}<<<}}}<}}<}}<}}<}}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}+++++++++++++++++++++++++++++++++++++++++++++++++._++.._#]~-<~-<~-<<<~-COprint("65")#asss^_^_# 
#9 "25"   +/pppppppeeeeeeee*n*n*n*es*s*s*^ee*n*n*n*e*sss*e*n*n*n*ee<* 5>1  s*e*///\)Q222999686#

VIP score: .001974

Verification

Try it online!

Languages that are not in the driver: 7 Japt, 26 05AB1E, 60 Moorhens, 83 Objeck, 90 RunR, 94 Emotinomicon, 96 EmojiCoder, 97 Cubically, 104 Paintfuck (origin at top-left), 108/110 Ruby 1.8.7/1.9.3, 119 ImageFuck, 121 Braincopter, 123 Mycelium, 127 Deltaplex, 129 Brainloller, 131 Extended Brainloller, 136 Wierd, 140 Gaot++, 141 Floater, 142 BitChanger, 145 MiLambda, 146 Curry, 149 CSL 151 Black

Explanation

ChuckScript is a language that is like Golunar for JavaScript instead of brainfuck. ChuckScript finds the first string of characters that match the regex \[0\]\{\d+\} and then converts the number matching the \d+ to an ascii string. This string is then executed inside a javascript eval().

The string I converted to ChuckScript was

console.log(152)

which gives

[0]{472454523665721469465830106052219449897}

This string was placed at the end of the first line of TRANSCRIPT code.

I have included a ChuckScript to JavaScript converter written in python in the test driver.

\$\endgroup\$
7
\$\begingroup\$

161. 2L, 7775 bytes

#16  "?63(o+?50;+'51;'# #@"/*"r"{\D-v e-'[fa5.q]PkPPX)\( 9 '#CO"14"^ 92*/
#/*0|7//```"`  [>.>.])[-'][(      7 >77*,68*,@'_          7 )(22)S/ \ 5 \7aa*+42@n; 7 999993 1 7 3 1 8 1 1 55 EEEEEδΘΔΔΔΘΔΘλiiipsddpsdoh k zzzzkf kf k zzzzzd kf k zzzzza kf bfz(coding=utf8 1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!
#>c#z#111#y#y#y#_#1111x        xxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/112\ 
# 36!@ `  e++++++::@          /"78"oo@    h#115 o# dO           x-----
#comment afTaTaTa TbTbTbRtRtRtVkVk-VkRcRcRcBkBkBkMbMbMbLzLzLzxxxxxxxxxxx8=,  
#~==++++++++++++++++++++++++++++++ +++++++++++++++++++.._+++++++.  
#`<`============================================================                                                x
#<<<#>>]}}+-[.^+;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]}--<^>++[+++++[>+++++++<-]>._++++._+++._^<]+-+<[<<._>>x>-]^>[  
#{  
#x}  
#2""/*\*  
#=x<R+++++[D>+++++++9999 9 9      L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@._+>][
#x%+>+=ttt_Z_*.9 999 99 9999 9                     _         _              _
#D>xU/-<+++L_9  
#R+.----._>]| 9 9999
#[#[(+?+?0l0v01k1kMoOMoOMoOMoOMOOx0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx4O6O@x0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l111111^_0   )000011100\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\['];#/s\\/;print"24"; exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>;?\:-._++._++++._#/<?\>3-++._6+---2._#</++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWW\WWWWwWWWWwWWWWW/WW\wWWWWWWWWwwwwvwWW/WwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                  (([5]{})))\';';print(( eval("1\x2f 2")and(9)or 13<< (65 )>>65or 68)-(0and eval("\"ppp\".bytes.class==Array and(4)or(95==\"ar_\"[2]and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})  ){}{})>)(({})5){}x{( <(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO MU s '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*.*]*.*(<\>]xxxxxxxxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"  
#.;R"12"'  
###;console.log 39; 
#  \\
""""#  \
' ( <><        (         x)>  ){ ({}[( )] )}{\';      a=$(printf \\x00    ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;;*1*) echo 50;;*) echo 58;;esac;exit;#(((('))))#\
=begin  
#p            +555!/2+55x%6E2x********>********************828+*+@[*99[?]*]*****|!
;set print "-";print 89;exit#ss      <e$P+ + + + + *D* + + +1+ +1E!s
utpb now 70 dollar off!
utpb has been selling out worldwide!
seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppxf⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→  
밠밠따빠빠맣박다맣받다맣희맣희うんたんたんたんたんうんうんうんうんうんたんうんうんうんたんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんたんたんうんうんうんうんたんたんうんたんたんたんうんうんうんたんうんうんたんうんうんたんうんうんたんうんたんうんうんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんうんうん  
😊♈💖  
😇♈♈ +-------+ 
😊♉♈ |$0011 \|
😇♈♈ |/1000 /|
😇♈♉ |\ 0011\|
😇♈💜|/01 00/| 
😊♉♈ |\ 0011\|
😊📢♈|@ 0110/| 
😈♈💜|       |
😊📢♈+-------+---  
😇♉💞  
😊📢♉⠀⢃⠛⠋  
#-49,A,-1                              #
#-5,A,-1                               #
#6,A,-1                                #
#                                     _
1     ! !
2   !    !
1      !!
1  x*
53  +
1  x*
51  +
1  x*
34  +
15  +                    ?   ?@             !
1   *                   ?@    ?
1   !                     +   *
1                       ?  !  ?
1     !                  ? @ ?
<  <    <<   <  <
< B=  =====  =>8 =
, 8= > B    = =
=  ==  =    = >   8  =
D B    =   D  x   xxx x
` `    =   >  8  = >
 ~ B   =  =   =  = > ~
 B =   D  ~   8 =  > xx
x   x  x x      x  xx  x
x   x    x    xx   x
x    x xx     xx
x    x xx     x
 8=,x  x

# + 
#+
#  +
+#
  *   +
  *+*

   *************************************************+
# +  +
#          +                                       +
   +    + *
         *****+
# +       +
#   +        +
  * *
   +*****
#        +
  
Yo::=~147
::=  
You can see an x here.<<<<
  
>{-<<  
>SET x TO 120. [0]{472454523665721469465830106052219449897}
>X x. PPQ-} 
>x--/2  
> =157;y=146--/2 
>main=print y{-ss 
  
\begin{code}  
{-x   ␉␉␉␉ 
␉
 ␉  



-}
module x where open import IO;main = run(putStr"159"               ) --ss
\end{code}
7 UP
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #"5""6027""ing"ye re h  do{--}gibe16"124"&#8+*
More 91 of thiset of re red down one blue up red down one blue up red up one red right two blue up ssswwWWWwWWWWWwWWWWWWWwWWWWWWWWW baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1""//*
#include<stdio.h>
#define  x(d) #d
#define u8 "38\0 "//"
char*x="24 10 31 1"
"a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000"
"o c #FF8000""t c #FF00BC""u c #008080"
"A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000"
"H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA"
"r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF"
"HHHahtdegggggggyrggggggc"
"IHHaixuEFbGGbggbryAEGRgc"
"JJHajyurbgbgggggggb____o"
"IJHakmyyyyyyyyyyyyyyyyye"
"I__almyyyyyyyyyyyyyyyyye"
"K__anmyyyyyyyyyyyyyy_y_e"
"HH_aqggyyyyyyyyg____m_Je"
"JH_axxxxxxxxxxxxxxxxxxxx"
"K__aaaam___bbbbbBm_bbBab"
"K__________bbbbb___bbxbb";//"
int f(char*a,char*b    ){  puts(a?"124":sizeof(0,u8)-5?u8"67":*u8""?"37": x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77"  );}main(){f(x,x=0);}//<*/
#1""/*/
 
>main=putStr"128"--}
 
#1""/*/
#if 0
#endif//* --... ...--
/*/
p=sizeof(" (\");   print'(''72'')';end!" );main(){    puts('??-'&1?"101":"92");return 0;}
#if 0
#endif//* rk:start | print: "69" rk:end                   @,-1,:*b5<>␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋
print 61
#}
disp 49;
#{
}{}<>        K yya+-        &  g+$
$'main'3x             A=AgRA;       AC
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.\_<!+++++++++++++++++++++++++++++++++++++++++++++++++._++.-.>@
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#xxxxclou"78" \++++>/<~#class P{function:Main (a:String[]  )~Nil{83->Print();}}
#endcOmment
#nocOmment   outtext("155"   )
#}pS9^7^8^MUOUOF@0:8:8     \\     @,,1'1'<>   _@125iRE
# |o51~nJ;#:p'34'3         \=#print(17)#>27.say#]# print(47)#]#echo 21#WWWWWWWWWWWWWWWwWWWWWWWWWWWWwv>++++
#8M`|   <esc>dggi2<esc>//  $}<}}<}>}[<<}< <<<<}<<}<<<<}<<<}}}<}}<}}<}}<    }}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}+++++++++++++++++++++++++++++++++++++++++++++++++._++.._#]~-<~-<~-<<<~-<COprint("65")#`=>asss^_^_#
#9 "25"   +/ppppppp neeeeee*n*n*n*es*s*s*^ee*n*n*n*e*sss*e*n*n*n*ee<*s 5>1  *e*///\)Q222999686#

Try it online!

I used this interpreter compiled without POINTER_REVERSE defined, so Up and Down actions on * conform to specification.

2L code is after Wierd:

# + 
#+
#  +
+#
  *   +
  *+*

   *************************************************+
# +  +
#          +                                       +
   +    + *
         *****+
# +       +
#   +        +
  * *
   +*****
#        +

Retina does not like * or + to be the first character on odd lines, so I used four pluses at the top to move the rest of the code to the right. #s are for SILOS.

enter image description here Blue asterisks print digits by decrementing TL1.

To fix evil: removed mxf from >{-<< line, added xf to evil line.

Refactorings

C(clang)

char* x = ...;
int f(char* a, char* b){ puts( a ? "124" : ...gcc stuff... ); } main(){ f(x, x=0); }

Clang evaluates arguments left to right, so a is nonzero; gcc evaluates arguments right to left, so a is zero. f return value is int instead of void because of Grass.

99

Moved 99 before Incident and added exit statement to it (first three lines are the same as before, see answer 99):

9999 9 9          // assign 0 (9-9) to 9999
9 999 99 9999 9   // assign 881 (999-99+0-9) to 9
9                 // print 99 because 881/9 = 99 and 9 is a variable with an odd number of 9s
 9 9999           // exit: go to line 881 which does not exist

So now 99 does not execute lines after Incident line. Underscore on line 14 (L_9) is for Cubically.

Whirl

Added exit statement 000011100 to Whirl on Incident/Whirl line as suggested by SnoringFrog.

So now Whirl does not execute lines after Incident line.

History (offtopic)

VIP score is .001863, Henry Ford was born in 1863.

\$\endgroup\$
7
\$\begingroup\$

163. 1L_AOI, 8160 bytes

#16  "?63(o+?50;+'51;'# #@"/*"r"{\D-v e-'[fa5.q]PkPPX)\( 9 '#CO"14"^ 92*/
#/*0|7//```"`  [>.>.])[-'][(      7 >77*,68*,@'_          7 )(22)S/ \ 5 \7aa*+42@n; 7 999993 1 7 3 1 8 1 1 55 EEEEEδΘΔΔΔΘΔΘλiiipsddpsdoh k zzzzkf kf k zzzzzd kf k zzzzza kf bfz(coding=utf8 1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!
#>c#z#111#y#y#y#_#1111x           -x    xxxxxxxxxxxxxxxxxxxxxxxxx/112\ 
# 36!@ `  e ++++++::@         /"78"oo@    h#115 o# dO           x-----
#comment afTaTaTa TbTbTbRtRtRtVkVk-VkRcRcRcBkBkBkMbMbMbLzLzLzxxxxxxxxxxx8=,  
#~==++++++  ++++++++++++++++++++++ +++++++++++++++++++++.._+++++++.  
#`<`===============================================================                                             x
#<<<#>>]+-}}[.^+;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]}--<^>++[+++++[>+++++++<-]>._++++._+++._^<]+-+<[<<._>>x>-]^>[  
#{  
#x}  
#2""/*\*  
#=x<R+++++[D>+++++++9999 9 9      L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@._+>][
#x%+>+=ttt_Z_*.9 999 99 9999 9                     _         _              _
#D>xU/-<+++L_9  
#R+.----._>]| 9 9999
#[#[(+?+?0l0v01k1kMoOMoOMoOMoOMOOx0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx4O6O@x0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l111111^_0   )000011100\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\['];#/s\\/;print"24"; exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>;?\:-._++._++++._#/<?\>3-++._6+---2._#</++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWW\WWWWwWWWWwWWWWW/WW\wWWWWWWWWwwwwvwWW/WwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                  (([5]{})))\';';print(( eval("1\x2f 2")and(9)or 13<< (65 )>>65or 68)-(0and eval("\"ppp\".bytes.class==Array and(4)or(95==\"ar_\"[2]and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})  ){}{})>)(({})5){}x{( <(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO MU s '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*.*]*.*(<\>]xxxxxxxxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"  
#.;R"12"'  
###;console.log 39; 
#  \\
""""#  \
' ( <><        (         x)>  ){ ({}[( )] )}{\';      a=$(printf \\x00    ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;;*1*) echo 50;;*) echo 58;;esac;exit;#(((('))))#\
=begin  
#p            +555!/2+55x%6E2x********>********************828+*+@[*99[?]*]*****|!
;set print "-";print 89;exit#ss      <e$P+ + + + + *D* + + +1+ +1E!s
p now 70 dollar off!
p has been selling out worldwide!
seeeemPaeueewuuweeeeeeeeeeCisajjappppppxf⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→  
밠밠따빠빠맣박다맣받다맣희맣희うんたんたんたんたんうんうんうんうんうんたんうんうんうんたんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんたんたんうんうんうんうんたんたんうんたんたんたんうんうんうんたんうんうんたんうんうんたんうんうんたんうんたんうんうんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんうんうん  
😊♈💖  
😇♈♈  
😊♉♈  
😇♈♈  
😇♈♉  
😇♈💜  
😊♉♈  
😊📢♈  
😈♈💜  
😊📢♈  
😇♉💞  
😊📢♉⠀⢃⠛⠋  
#-49,A,-1                              #
#-5,A,-1                               #
#6,A,-1                                #
1     ! !
2   !    !
1      !!
1  x*
53  ++-------+
1  x*|$0011 \|
51  +|/1000 /|
1  x*|\ 0011\|
34  +|/01 00/|
15  +|\ 0011\|           ?   ?@       _     !
1   *|@ 0110/|          ?@    ?
1    |       |            +   *
1   !+-------+---       ?  !  ?
1    !                   ? @ ?
<  <    <<   <  <
< B=  =====  =>8 =
, 8= > B    = =
=  ==  =    = >   8  =
D B+  +=   D  x   xxx x
` `  + =   >  8  = >
 ~ B   =  =   =  = > ~
 B +   =  D+  ~ 8  = >x
x   x  x x      x  xx  x
x   x    x+   xx   x + +  +    +    +
x    x xx     xx                +++   +
x+  +x +x     x + +      +  +
 8=+,  _         +    +   +         +
   +     +                +  +    +
 +             +  +  +      + + +    +
   +    +      +           +
   +    +      +          +    +      +
   +           +            +
   +      +  + +            +
   +       +   +            +
          +    +            +
# +   +                  +
#+     +     ++  +     +     +
#  +      +     +
+#
  *   +
  *+*

   *************************************************+
# +  +
#          +                                       +
   +    + *
         *****+
# +       +
#   +        +
  * *
   +*****
#        +
  
Yo::=~147
::=  
You can see an x here.<<<<
  
>{-<<  
>SET x TO 120. [0]{472454523665721469465830106052219449897}
>X x. PPQ-} 
>x--/2  
> =157;y=146--/2 
>main=print y{-ss 
  
\begin{code}  
{-x   ␉␉␉␉ 
␉
 ␉  



-}
module x where open import IO;main = run(putStr"159"               ) --s
\end{code}
7 UP
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #"6027"1,_ye do{--}gibe16"124"&#8+*size
More 91 of this red down one blue up red down one blue up red up one red right two blue up ssswwWWWwWWWWWwWWWWWWWwWWWWWWWWW baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1""//*
#include<stdio.h>
#define  x(d) #d
#define u8 "38\0 "//"
char*x="24 10 31 1"
"a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000"
"o c #FF8000""t c #FF00BC""u c #008080"
"A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000"
"H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA"
"r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF"
"HHHahtdegggggggyrggggggc"
"IHHaixuEFbGGbggbryAEGRgc"
"JJHajyurbgbgggggggb____o"
"IJHakmyyyyyyyyyyyyyyyyye"
"I__almyyyyyyyyyyyyyyyyye"
"K__anmyyyyyyyyyyyyyy_y_e"
"HH_aqggyyyyyyyyg____m_Je"
"JH_axxxxxxxxxxxxxxxxxxxx"
"K__aaaam___bbbbbBm_bbBab"
"K__________bbbbb___bbxbb";//"
int f(char*a,char*b    ){  puts(a?"124":sizeof(0,u8)-5?u8"67":*u8""?"37": x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77"  );}main(){f(x,x=0);}//<*/
#1""/*/
 
>main=putStr"128"--}
 
#1""/*/
#if 0
#endif//* --... ...--
/*/
p=sizeof(" (\");   print'(''72'')';end!" );main(){    puts('??-'&1?"101":"92");return 0;}
#if 0
#endif//* rk:start | print: "69" rk:end                   @,-1,:*b5<>␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋
print 61
#}
disp 49;
#{
}{}<>        K yya+-        &  g+$
$'main'3x             A=AgRA;       AC
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.\_<!+++++++++++++++++++++++++++++++++++++++++++++++++._++.-.>@
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#xxxxclou"78" \++++>/<~#class P{function:Main (a:String[]  )~Nil{83->Print();}}
#endcOmment
#nocOmment   outtext("155"   )
#}pS9^7^8^MUOUOF@0:8:8     \\     @,,1'1'<>   @125iRE                               _
# |o51~nJ;#:p'34'3         \=#print(   size([[1] [3]][1,:] )[1]==2?158+4:17 )#>27.say#]# print(47)#]#echo 21#WWWWWWWWWWWWWWWwWWWWWWWWWWWWwv>++++
#8M`|   <esc>dggi2<esc>//  $}<}}<}>}[<<}< <<<<}<<}<<<<}<<<}}}<}}<}}<}}<    }}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}+++++++++++++++++++++++++++++++++++++++++++++++++._++.._#]~-<~-<~-<<<~-<COprint("65")#`=>ass^_^_#
#9 "25"   +/ppppppp  eeeeee*n*n*n*es*s*s*^ee*n*n*n*e*sss*e*n*n*n*ee<*s 5>1  *e*///\)Q222999686#

Try it online!

I am using this interpreter, command line: 1l_aoi -eu polyglot (enable 1L_AOI_EU extension). In 1L_AOI_EU dialect turns are performed a bit differently.

Main code is inside and below Wierd. IP starts on second line going right, then deflects down from first + on the first line. To keep 1L_AOI working columns 11 and 12 should not have pluses. I moved pluses from those columns on lines 4, 6 and 8. Plus on line 14 is compensated with plus on line 69.

   +  +    
     +      line 69

   +       +

          +          + +  +    +    +
                                +++   +
 +  +  +        + +      +  +
   +             +    +   +         +
   +     +                +  +    +
 +             +  +  +      + + +    +
   +    +      +           +
   +    +      +          +    +      +
   +           +            +
   +      +  + +            +
   +       +   +            +
          +    +            +
  +   +                  +
       +     ++  +     +     +
          +     +

enter image description here

Cell value is increased by traversing plus going up, so simple approach would require more than 50 lines for the code. That's why I use loop to create number 49, brainfuck equivalent +++++++‍[<<+++++++>>-] (blue path). TL2 is loop counter, the value is accumulated in TL0.

cell index  2     2   0     0  2  1 0   0 1 0 0 1
            +++++++[<<+++++++>>-]<+<+++++>+<--->+
print                             P       P     P

Blue path has 4 < instead of 2 because beginning of the first iteration of loop has different path.

Yoob framework can be used to debug 1L_AOI (option 1L_AOI_EU should be checked). There are some problems with pasting code in yoob, this is workaround for Windows.

Agony

Agony is self-modifying brainfuck derivative, it loads program code into memory tape. Tape is circular and has size 1500 cells in the interpreter used, and if program has more than 1500 instructions it will overwrite itself in the tape. This answer exceeds this limit, so Agony stopped working. As Agony specification does not mandate any particular tape size I consider this implementation detail that can be altered. So Agony.java is modified in the test driver to increase tape size.

Refactorings

Moved Nhohnhehr into LNUSP.
Slightly modified Julia (less parens/commas): size(...)[1]==2 ? 158+4 : 17.
Removed old token breakers from Commercial (#70) and Cood (#91).

\$\endgroup\$
7
\$\begingroup\$

169. AutoIt, 8750 bytes

#16  "?63(o+?50;+'51;'# #@"/*"r"{\D-v e-'[fa5.q]PkPPX)\( 9 '#CO"14"^ 92*/
#/*0|7//```"`  [>.>.])[-'][(      7 >77*,68*,@'_          7 )(22)S/ \ 5 \7aa*+42@n; 7 999993 1 7 3 1 8 1 1 55 EEEEEδΘΔΔΔΘΔΘλiiipsddpsdoh k zzzzkf kf k zzzzzd kf k zzzzza kf bfz(coding=utf8 1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!
#>c#z#111#y#y#y#_#1111x           -x    xxxxxxxxxxxxxxxxxxxxxxxxx/112\ 
# 36!@ `  e ++++++::@         /"78"oo@    h#115 o# dO           x-----
#comment -[af] tAtAtA TbTbTbRtRtRt-VkVkVkRcRcRcBkBkBkMbMbMbPSPSPSpspspsQhQhQhQrQrQrHnHnHnbqbqbqLzLzLzTcTcTcxxxxx8=,  
#~==++++++  ++++++++++++++++++++++ +++++++++++++++++++++.._+++++++.  
#`<`===============================================================                                             p
#<<<#>>]+-}}[.^+;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]}--<^>++[+++++[>+++++++<-]>._++++._+++._^<]+-+<[<<._>>x>-]^>[  
#{  
#cs}  
#2""/*\*  
#=x<R+++++[D>+++++++9999 9 9      L+++<-][PLACET,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@._+>][
#x%+>+=ttt_Z_*.9 999 99 9999 9                     _         _              _
#D>xU/-<+++L_9  
#R+.----._>]| 9 9999
#[#[(+?+?0l0v01k1kMoOMoOMoOMoOMOOx0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11yx4O6O@MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOotMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l111111^_0   )000011100\\
[ "`e```.1'.0'.6''i]56pq{}26q[puts 59][exit]" ,'_\['];#/s\\/;print"24"; exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>;?\:-._++._++++._#/<?\>3-++._6+---2._#</++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.>!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWW\WWWWwWWWWwWWWWW/WW\wWWWWWWWWwwwwvwWW/WwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                  (([5]{})))\';';print(( eval("1\x2f 2")and(9)or 13<< (65 )>>65or 68)-(0and eval("\"ppp\".bytes.class==Array and(4)or(95==\"ar_\"[2]and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})  ){}{})>)(({})5){}x{( <(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO MU s '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*.*]*.*(<\>]xxxxxxxxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"  
#.;R"12"'  
###;console.log 39; 
#  \\
""""#  \
' ( <><        (         x)>  ){ ({}[( )] )}{\';      a=$(printf \\x00        ) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo $((19629227668178112600/ 118248359446856100));;    *1*)echo 50;;*)echo 58;;esac;exit;#( (((') )))#\
=begin  
#p            +555!/2+55x%6E2x!<******>**********************828+*+@[*99[?]*]*****|!
;set print "-";print 89;exit#ss       e$P+ + + + + *D* + + +1+ +1E!s
p now 70 dollar off!
p has been selling out worldwide!
[mxf]-main=-[165]-###jxf  
#  
seeeemPaeueewuuweeeeeeeeeeCisajjappppppxf⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→  
밠밠따빠빠맣박다맣받다맣희맣희うんたんたんたんたんうんうんうんうんうんたんうんうんうんたんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんたんたんうんうんうんうんたんたんうんたんたんたんうんうんうんたんうんうんたんうんうんたんうんうんたんうんたんうんうんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんうんうん  
😊♈💖  
😇♈♈  
😊♉♈  
😇♈♈  
😇♈♉  
😇♈💜  
😊♉♈  
😊📢♈  
😈♈💜  
😊📢♈  
😇♉💞  
😊📢♉⠀⢃⠛⠋  
#-49,A,-1                              #
#-5,A,-1                               #
#6,A,-1                                #
1     ! !
2   !    !
1      !!
1  x*
53  ++-------+
1  x*|$0011 \|
51  +|/1000 /|
1  x*|\ 0011\|
34  +|/01 00/|
15  +|\ 0011\|           ?   ?@       _     !
1   *|@ 0110/|          ?@    ?
1    |      +|            +   *
1   !+-------+---       ?  !  ?
1    !                   ? @ ?
<  <    <<   <  <
< B=  =====  =>8 =
, 8= > B    = =
=  ==  =    = >   8  =
D B+  +=   D  x   xxx x
` `  + =   >  8  = >
 x ~   B  =   =  = = > ~
 B +   =  D+  ~ 8  = >x
x   x  x x      x  xx  x
x   x    x+   xx   x + +  +    +    +
x    x xx     xx                +++   +
x+  +x +x     x + +      +  +
 8=+,  _         +    +   +         +
   +     +                +  +    +
 +             +  +  +      + + +    +
   +    +      +           +
   +    +      +          +    +      +
   +           +            +
   +      +  + +            +
   +       +   +            +
          +    +            +
# +   +                  +
#+     +     ++  +     +     +
#  +      +     +
+#
  *   +
  *+*

   *************************************************+
# +  +
#          +                                       +
   +    + *
         *****+
# +       +
#   +        +
  * *
   +*****
#        +
   ( printout t 164         )
(exit  )  
#cepp  
MsgBox(0,"",169                     )
#cs  
Yo::=~147
::=  
You can see an x here.<<<<
  
>{-<<  
>SET x TO 120. [0]{472454523665721469465830106052219449897}
>X x. PPQ-} 
>x--/2  
> =157;y=146--/2 
>main=print y{-ss 
  
\begin{code}  
{-x   ␉␉␉␉ 
␉
 ␉  



-}
open import IO;main = run         (putStr"159"   ) --s
\end{code}
pppppppppppp
Take Northern Line to Tooting Bec
Take Northern Line to Charing Cross
Take Northern Line to Charing Cross
Take Northern Line to Bank
Take District Line to Hammersmith
Take District Line to Upminster
Take District Line to Hammersmith
Take District Line to Upminster
Take District Line to Embankment
Take Bakerloo Line to Embankment
7 UP
Take Northern Line to Mornington Crescent
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #"6027"1,_ye do{--}gibe16"124"&#8+*sizeString tnd xfmain=9717 96lo
More 91 of this red down one blue up red down one blue up red up one red right two blue up ssswwwWWWwWWWWWwWWWWWWWwWWWWWWWWW baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1""//*
#include<stdio.h>
#define  x(d) #d
#define u8 "38\0 "//"
char*x="24 10 31 1"
"a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000"
"o c #FF8000""t c #FF00BC""u c #008080"
"A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000"
"H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA"
"r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF"
"HHHahtdegggggggyrggggggc"
"IHHaixuEFbGGbggbryAEGRgc"
"JJHajyurbgbgggggggb____o"
"IJHakmyyyyyyyyyyyyyyyyye"
"I__almyyyyyyyyyyyyyyyyye"
"K__anmyyyyyyyyyyyyyy_y_e"
"HH_aqggyyyyyyyyg____m_Je"
"JH_axxxxxxxxxxxxxxxxxxxx"
"K__aaaam___bbbbbBm_bbBab"
"K__________bbbbb___bbxbb";//"
int f(char*a,char*b    ){  puts(a?"124":sizeof(0,u8)-5?u8"67":*u8""?"37": x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77"  );}main(){f(x,x=0);}//<*/
#1""/*/
 
>main=putStr"128"--}
 
#1""/*/
#if 0
#endif//* --... ...--
/*/
p=sizeof(" (\");   print'(''72'')';end!" );main(){    puts('??-'&1?"101":"92");return 0;}
#if 0
#endif//* rk:start | print: "69" rk:end                   @,-1,:*b5<>␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋
print 61
#}
disp 49
#{
}{}<>        K yya+-        &  g+$
$'main'3x             A=AgRA;       AC
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.\_<!+++++++++++++++++++++++++++++++++++++++++++++++++._++.-.>@
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#xxxxclou"78"<\++++>/<~#class P{function:Main (a:String[]  )~Nil{83->Print(); }}
#endcOmment
#nocOmment   outtext("155"   )
#ce pS9^7^8^MUOUOF @0:8:8  \ @,,1'1'<> @125iRE
# |o51~nJ;#:p'34'3         \=#print(   size([[1] [3]][1,:] )[1]==2?158+4:17 )#>say 27#p>>>say 170-3#]#print(47)#]#echo 21#WWWWWWWWWWWWWWWwWWWWWWWWWWWWwv>++++
#8M`|   <esc>dggi2<esc>//  $}<}}<}>} [<<}<<<<<}<<}<<<<}<<<}}}<}}<}}<}}<    }}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}+++++++++++++++++++++++++++++++++++++++++++++++++._++.._#]~-<~-<~-<<<~-<COprint("65")#`=>ass^_^_#
#9 "25"   +/ppppppp  eeeeee*n*n*n*es^*s*s*ee*n*n*n*e*sss*e*n*n*n*ee<*s 5>1  *e*///\)Q222999686#

Try it online!

AutoIt is a GUI automation language for Windows.

AutoIt has functions for displaying GUI message (MsgBox) and printing to console (ConsoleWrite). I like MsgBox more because it does not mess with Grass and is more natural to AutoIt. For example, interpreter errors are displayed with GUI messages and ConsoleWrite does not work in interpreter (AutoIt3.exe), the script has to be compiled with Aut2exe.exe with parameter /console to make it work. But even then, compiled executable will display errors with GUI messages. So I am using MsgBox. This will not hamper automated testing because I included abstraction test in the test driver anyway.

AutoIt has preprocessor with #cs/#ce (comment start/end) directives, unknown directives are ignored.

Line 10:

#cs ...  

Lines 106-108:

#cepp  
MsgBox(0,"",169                     )
#cs  

Line 213:

#ce ...

} on line 213 was for Octave, but it did not close block comment as intended since answer 88, when I added PingPong to that line. It still works because unterminated block comment is not an error in Octave, it produces a warning. Note that even if it was an error it could go unnoticed because Octave exits with zero error code on errors - same problem as in ><>.

Refactoring: Changed dash/yash expression to 19629227668178112600/ 118248359446856100 (118248359446856100 = (2^63-1)/78, 118248359446856100*166 = 19629227668178112600).

\$\endgroup\$
7
\$\begingroup\$

97. Cubically v1.3, 2851 bytes

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\4n;iiipsddpsdoh coding:utf8ââââ(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>â
# 36!@â`  e++++++::@ 
#~
#y
#`<`
#<<<#>>]}}+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]>@@+.---@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\   \).>]|
#[#[(?24O6O@?20l0v01k1kMoOMoOMoOMoO MOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0 )0\\
[  "]56p26q[puts 59][exit]" ,'\['];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWw WWWWWWWWwWW/"78"oo@WWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw              (([5]{})))â\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;'(*****************819+*+@[*99[?]*]***|!)'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit#ss
utpb now 70 dollar off!
utpb has been selling out worldwide!
#seeeemPaeueewuuweeeeeeeeeeCis:ajjapppppppðð¨ðð¨ð¬95ð¬ð¥â¡
ðð¢ðððððððð

set ! 57
set ! 51
More 91 of thiset of re
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1"" //*
#include<stdio.h> 
#defineâ x(d)â#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"eg5""6 27""Zinge  ";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof( "(\"           ); print'(''72'')';end!"           ); main( ){puts("92" );return 0;}
#if 0â
#endif//* rk:start | print: "69" rk:end<(     >5b*:,1-,@
print 61
#}
disp 49;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.</+++++++>/+++<-\>+++.---.
#<<<#>>>
reg end="";print(85);reg s
=end
;"""#"#xxxxxxxy"78"\++++>/<~#class P{        function:Main(a:String[] )~Nil{83->Print();} }
#}pS9^7^8^MUOUOF@:8:8\\
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8âdggi2âM`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#asss^_^_#
#5 "25"  +/ *///X222999686#

VIP score (Versatile Integer Printer): .003123 (to improve, next entry should be no more than 2939 bytes)

Try it online! Languages not on TIO:

Cubically is a painful esolang I wrote. Go check out the repo to see why I call it 'painful'.

Cubically

The Cubically code started as +52/1+55%6E0.

  • +52/1 set the notepad to 7. +55 got it to 97.
  • %6 prints the notepad value as integer.
  • E0 exits the program.

Cubically was really useful for this polyglot because it only calls a command when a number is provided immediately after a valid non-number command character. There luckily weren't any commands next to numbers, so I didn't have to deal with that.

Incident

NOTHING BORKED INCIDENT :D

Cubix/Prelude/Moo

Trying to put the Cubically snippet near the top of the code displaced Cubix' 4O6O@, which was necessary. I moved the 4060@ up a bit higher and it fixed Cubix.

However, fixing Cubix displaced some parenthesis, which made Prelude angry. I tried for a while to coerce it into working, but it was taking a few hours so I abandoned my approach. (Somewhere along the way, Moo stopped working.)

Cardinal

The % to print an integer messed with Cardinal, spawning instruction pointers in the four cardinal directions around the %. So I spaced the Cubically code to put the % over an x and rewrote it to look like this:

+52/1+55x%6E0x

Whirl

Whirl is a really nasty language which only cares about 1s and 0s. The Cubically code contained one of each. I rewrote the beginning like this:

+555/2

which still sets the notepad to 7. Then I changed E0 to E2, because E doesn't care what number it's given, it exits anyway. Thus the Cubically code turned into this:

+555/2+55x%6E2x

Notes for future answers

Make sure to put a non-command character between a command character and a number. These are Cubically's command characters: RLUDFBE@%+-*/=:

\$\endgroup\$
3
  • \$\begingroup\$ Since Cubically's TIO is broken is there a place we can test it? \$\endgroup\$
    – Wheat Wizard
    Commented Jul 30, 2017 at 16:12
  • \$\begingroup\$ @WheatWizard it's fixed now, URL updated. \$\endgroup\$
    – MD XF
    Commented Jul 30, 2017 at 18:13
  • \$\begingroup\$ If Moo breaks, it means you mooved (lol) (or broke) a moo (or an oom, since there are a couple of those) (and I guess adding a moo would do it too, but that seems unlikely to do on accident). I'd wager it just got caught up in an accidental cut/delete. \$\endgroup\$ Commented Jul 31, 2017 at 14:37
7
\$\begingroup\$

177. 1L_a, 9814 bytes

#16  "?63(o+?50;+'51;'# #@ " /*"r"{\D-v e-'[fa5.q]PkPPX)\( 9 '#CO"14"^ 92                                       7 222222222222222222222222                                                             ##*/
#/*0|7//```"`  [>.>.])[-'][(        7 >77*,68*,@'_        7 )(22)S  / \iiipsddpsdoh#####(#######??   #### ##  ######     ####         ###### # ####  #######     ####         ###### # ####  #######  a5# \7aa*+42@n; 7 999993 1 7 3 1 8 1 1 55 EEEEEδΘΔΔΔΘΔΘλa k zzzzkf kf k zzzzzd kf k zzzzza kf bfz coding=utf8 1P''53'S^'
#>c#z#111#y#y#y#_#1111x             -x    xxxxxxxxxxxxxxxxxxxxxxxxx/112\     ##### #######   # #    #####  #   #   #    ##### ####  ###   #### #  # #####  #    ##### ####  ###   #### #  # #####  #    #
#* 36!@`  e ++++++::@           /"78"oo@    h#115 o# dO 8=,_      x-----x ########    ## ### ###### ######## #### ##### ####### ##### ###    # # #### ### ##### ####### ##### ###    # # #### ### ##### #
#comment -[af] tAtAtA TbTbTbRtRtRtVk-VkVkRcRcRcBkBkBkMbMbMbPSPSPSpspsps    # ##########  ### ## #####  ## #### ## # #####  ## ##### ####   ##### ## # ##  ## ####  ## ##### ####   ##### ## # ##  ## ####
#~==++++++  ++++++++++++++++++++++++ +++++++++++++++++++.._+++++++._       # ????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!                                                           
#[#[===============================================================]]      #
#<<<#QhQhQhQrQrQrHnHnHnbqbqbqLzLzLzxxxxxx                                  #
############################################################################                                         p
 #-]+-}}[.^x+;;+;;+;;+<>;;+;;+;;+;;;;;;+;;+;;.._]}--<^>++[+++++[>+++++++<-]>x._++++._+++._^<][4O6O@]+-+<[<<._>>x>-]^>[  
#{  
#cs}  
#2""/*\*  
#=x<R+++++[D>+++++++9999 9 9        L+++<-][PLACET,2<- #2FAC,2SUB#1<- #52FAC,2SUB#2<- #32FACREADOUT,2PLEASEGIVEUPFACs]_>@@+.---@._+>][
#x%+>+=ttt_Z_*.9 999 99 9999 9                        _         _               _
#D>xU/-<+++L_9  
#R+.----._>]| 9 9999\[\[
#`<`(+?+?0l0v01k1kMoOMoOMoOMoOMOOx0l0ix0jor0h0h1d111 0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11yxMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOotMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i000x1k1x0vx0v0l111111^_0   )000011100\\
[ "`e```.1'.0'.6''i]56pq\{}26q[puts 59][ exit]" ,'_\['];#/s\\/;print"24"; exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>;?\:-._++._++++._#/<?\>3-++._6+---2._#</++++++++++++++++++++++++++++++++++++++++++++++++._++._++++++.>!\
'(wWWWwWWWWwvwWWwWWWwvwWWWwWWWW\WWWWwWWWWwWWWWW/WW\wWWWWWWWWwwwwvwWW/WwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwx                  (([5]{})))\';';print(( eval("1\x2f 2")and(9)or 13<< (65 )>>65or 68)-(0and eval("\"ppp\".bytes.class==Array and(4)or(95==\"ar_\"[2]and 5-96 or-93)"))^1<<(65)>>62) or"'x"or' {}{}{}{}{}{}{}({}<(((((()()())){}{})  ){}{})>)(({})5){}x{( <(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({;}()<()()()>)wWW ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho ho dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO dO MU s '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]* *]* * *(<\>]xxxxxxxxxxxxxxxxxxxxxx)'#\\
__DATA__=1#"'x"  
#.;R"12"'  
###;console.log 39; 
#  \\
""""#  \
' ( <><        (         x)>  ){ ({}[( )] )}{\';     a=$(printf \\x00) ;b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo $((19629227668178112600/ 118248359446856100));;    *1*)echo 50;;*)echo 58;;esac;exit;#( (((') )))#\
=begin  
#p            +555!/2+55x%6E2x !|*****[*[?]828+*+]@[*99[?]*]****|!
;set print "-";print 89;exit#ss        <>
[mxf]-main=-[165]- ###jxf*#p 173#*s     e$P+++++*D*+++1++1E!s
#  
p now 70 dollar off!
p has been selling out worldwide!
seeeemPaeueewuuweeeeeeeeeeCisajjappppppxf⠆⠄⡒⡆⡘😆😨😒😨💬95💬👥➡😻😹😸🙀🙀😹😼😿🙀🙀😼😼😸🙀🙀🙀🙀
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚▲▲▲²²²²▲¡▼¡▲▲¡→  
밠밠따빠빠맣박다맣받다맣희맣희うんたんたんたんたんうんうんうんうんうんたんうんうんうんたんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんたんたんうんうんうんうんたんたんうんたんたんたんうんうんうんたんうんうんたんうんうんたんうんうんたんうんたんうんうんうんたんたんうんたんたんうんたんたんうんたんたんうんたんたんたんうんうん  
😊♈💖  
😇♈♈  
😊♉♈  
😇♈♈  
😇♈♉  
😇♈💜  
😊♉♈  
😊📢♈  
😈♈💜  
😊📢♈  
😇♉💞  
😊📢♉⠀⢃⠛⠋  
#-49,A,-1                              #
#-5,A,-1                               #
#6,A,-1                                #
1     ! !
2   !    !
1      !!
1  x*
53  ++-------+
1  x*|$0011 \|
51  +|/1000 /|
1  x*|\ 0011\|
34  +|/01 00/|
15  +|\ 0011\|           ?   ?@       _     !
1   *|@ 0110/|          ?@    ?
1    |      +|            +   *
1   !+-------+---       ?  !  ?
1    !            <``=>  ? @ ?
<  <    <<   <  <
< B=  =====  =>8 =
, 8= > B    = =
=  ==  =    = >   8  =
D B+  +=   D  x   xxx x
` `  + =   >  8  = >
 x ~   B  =   =  = = > ~
 B +   =  D+  ~ 8  = >x
x   x  x x      x  xx  x
x   x    x+   xx   x + +  +    +    +
x    x xx     xx                +++   +
x+  +x +x     x + +      +  +
 8=+,  _         +    +   +         +
   +     +                +  +    +
 +             +  +  +      + + +    +
   +    +      +           +
   +    +      +          +    +      +
   +           +            +
   +      +  + +            +
   +       +   +            +
          +    +            +
# +   +                  +
#+     +     ++  +     +     +
#  +      +     +
+#
  *   +
  *+*

   *************************************************+
# +  +
#          +                                       +
   +    + *
         *****+
# +       +
#   +        +
  * *
   +*****
#        +
   ( printout t 164         )
(exit  )  
#cepp  
MsgBox(0,"",169                     )
#cs  
Yo::=~147
::=  
You can see an x here.<<<<
  
>{-<<<<<  
> 176
>> Output 1
>SET x TO 120. [0]{472454523665721469465830106052219449897}
>X x. PPQ-}
>x--/2  
> =157;y=146--/2 
>main=print y{-sss 
  
\begin{code}  
{-x   ␉␉␉␉ 
␉
 ␉  



-}
open import IO;main = run         (putStr"159"   )
\end{code}
pppppppppppp
Take Northern Line to Tooting Bec
Take Northern Line to Charing Cross
Take Northern Line to Charing Cross
Take Northern Line to Bank
Take District Line to Hammersmith
Take District Line to Upminster
Take District Line to Hammersmith
Take District Line to Upminster
Take District Line to Embankment
Take Bakerloo Line to Embankment
7 UP
Take Northern Line to Mornington Crescent
7 RIGHT
7 RIGHT
7 TEACH
6 BOND
6 BOND
6 BOND
5 RIGHT
5 LEFT
5 RIGHT
7 BOND
7 TEACH
5 TEACH
6 YELL
5 TEACH
6 YELL
6 YELL
set ! 57,,...,,.,,..,,,,,,..,,,.$^
set ! 51.                         #"6027"1,_ye do{--}gibe16"124"&#8+*sizeString tnd xfmain=971796los*81''TcTcTc
More 91 of this red down one blue up red down one blue up red up one red right two blue up ssswwwWWWwWWWWWwWWWWWWWwWWWWWWWWW baa baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bleeeeeeeeeeeeet bleeeeeeeeeeeeet bleeeeeeeeeet baaaa bleet bleeeeeeeeeet bleeet bleeeeeeeeeet
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449,12597
#endif//*
#1""//*
#include<stdio.h>
#define  x(d) #d
#define u8 "38\0 "//"
char*x="24 10 31 1"
"a c #FFC0FF""B c #0000C0""d c #58007B""e c #0C8302"
"h c #E60001""i c #CAFFFF""j c #280000""k c #CA0000""l c #CA007F""n c #330001 ""q c #E60000"
"o c #FF8000""t c #FF00BC""u c #008080"
"A c #0040C0""E c #808000""F c #00C040""G c #008000 ""R c #800000"
"H c #0000AA""I c #00AA00""J c #55FFFF""K c #AAAAAA"
"r c red""g c green""b c blue""c c cyan""m c magenta""y c #FFFF00""x c black""_ c #FFFFFF"
"HHHahtdegggggggyrggggggc"
"IHHaixuEFbGGbggbryAEGRgc"
"JJHajyurbgbgggggggb____o"
"IJHakmyyyyyyyyyyyyyyyyye"
"I__almyyyyyyyyyyyyyyyyye"
"K__anmyyyyyyyyyyyyyy_y_e"
"HH_aqggyyyyyyyyg____m_Je"
"JH_axxxxxxxxxxxxxxxxxxxx"
"K__aaaam___bbbbbBm_bbBab"
"K__________bbbbb___bbxbb";//"
int f(char*a,char*b    ){  puts(a?"124":sizeof(0,u8)-5?u8"67":*u8""?"37": x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77"  );}main(){f(x,x=0);}//<*/
#1""/*/
 
>import Text.Heredoc--WWWWWWWWWWWWWW<<W
>instance Num B where fromInteger _=B 170;negate _=B$x#x
>data B=B{u::Integer};g=[here|here<-"W>W"] --WWWWWWWWWW570rt Unc27<<[w|]
>x=1;y#a=128;x#a=174
>main=print$last$172:[u$[-1]!!0|g<"Z>"] --}

#1""/*/
#if 0
#endif//* --... ...--
/*/
p=sizeof(" (\");   print'(''72'')';end!" );main(){    puts('??-'&1?"101":"92");return 0;}
#if 0
#endif//* rk:start | print: "69" rk:end                     @,-1,:*b5<>␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␌␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋␋
print 61
#}
disp 49
#{
}{}<>        K yya+-        &  g+$
$'main'3x             A=AgRA;       AC
#-3o4o#$$$
#<T>"3"O._</+++++++>/+++<-\>+++.---.\_<!+++++++++++++++++++++++++++++++++++++++++++++++++._++.-.>@
#<<<#>>>  /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#xxxxclou"78"<\++++>/<~#class P{function:Main (a:String[]  )~Nil{83->Print(); }}
#endcOmment
#nocOmment   outtext("155"   )
#ce pS9^7^8^MUOUOF @0:8:8    \ @,,1'1'<> @125iRE
#p|o51~nJ;#:p'34'3           \=#   print(size([[1] [3]][1,:]  )[1]==2?158+4:17 )#>say 27#>>>say 170-3#]#print(47)#]#echo 21#>/#print(171)#s-#print 175#s
#8M`|   <esc>dggi2<esc>//    $}<}}<}>} [<<}<<<<<}<<}<<<<}<<<}}}<}}<}}<}     }<}}<}}<}}}<}}<<<<<<<<<<<}}}<}}<}}<}}<}}<}}<}}}<<<<<<<<<<}+++++++++++++++++++++++++++++++++++++++++++++++++._++.._#]~-<~-<~-<<<~-<COprint("65")#`=>ass^_^_#
#9 "25"   +/ppppppp  ggeeee*n*n*n*es*s^*s*ee*n*n*n*e*sss*e*n*n*n*ee*s<* 5>1  e*///\)Q222999686#

Try it online!

Explanation

The exact language used is text mode of 1L_a105 standard, interpreter is here. In this dialect first character in the file is used as space in pre-standard 1L_a, everything else is a wall.

First two examples below are in pre-standard 1L_a, so they can be executed in yoob too. To run this code in Graue interpreter newline must be added at the end.

It is very hard to program in 1L_a, so I used automatic search. The idea is to split program in cells, each cell prints one bit. One to four additional asterisks inside cell are enough to make cell produce needed value, so the cell can be found by iterating over all possible cells with 4 or less asterisks. First cells with width 4 are tried, then with width 5, etc.

 *                         ******* ******* ***** ******** ******* **** ****** *******    ******* ******* ******* ****** ****** ******* **** ****    ******* ******* ******* ****** ****** ******* **** ****    *
 *                         **    * *     * *         *  * **    * *  * **        *  *    **    * **    * **         * * *    * **         * ** *    **    * **    * **         * * *    * **         * ** *    *
 *             *********   *     * *         *** * *    * *     * ** * **   * **    *    *     * *    ** *   * * *    * * ** * *     * ** * *  *    *     * *    ** *   * * *    * * ** * *     * ** * *  *    *
 *             *                 * ** *  * *   * *      * *          * *    * *     *    *         *       *   * ***  * *        *   * *       *    *         *       *   * ***  * *        *   * *       *    *
 *              * ******   *            ** *   * *  *       **  * *      *  * * *          **  * *     * *    ** **       *  * *    ** *  * *         **  * *     * *    ** **       *  * *    ** *  * *       *
 *              * *        ******* ******* ***** ******** ******* **** ****** *******    ******* ******* ******* ****** ****** ******* **** ****    ******* ******* ******* ****** ****** ******* **** ****    *
 *              * *           0       0      1       1       0      0     0      1          0       0       1       1      0      1      1    1                                 same                       
 **************** *        
                  *        \---------------------------- 1 -------------------------/    \---------------------------- 7 ----------------------/    \---------------------------- 7 ----------------------/
*******************

Note that y position of IP, tape location and tape contents are exactly the same before and after printing first 7, which makes it possible to just reuse the code to print second 7. This is a pure coincidence, I didn't do anything special for it to happen.

Version with merged edges between cells:

 *                       **************************************************************************************************************************** *
 *                       **    *     *       *  **    *  **      *  **    **    **       * *    **       ** **    **    **       * *    **       ** * *
 *             ********* *     *       *** *    *     ** **   **    *     *    **   * *    * ** *     ** *  *     *    **   * *    * ** *     ** *  * *
 *             *               ** *  *   *      *        *    *     *       *     *   ***  *      *   *     *       *     *   ***  *      *   *     * *
 *              * ****** *          **   *  *     **  *    *  * *     **  *     *    ***     *  *    **  *    **  *     *    ***     *  *    **  *    *
 *              * *      ******************************************************************************************************************************
 *              * *
 **************** *
                  *
*******************

Version for polyglot is obtained by replacing all space chars that IP visits by #:

#                                                                                                                                                    # 
#                               ##### #######     #### ##  ######     ####         ###### # ####  #######     ####         ###### # ####  #######    # 
#                         ##### #######   # #    #####  #   #   #    ##### ####  ###   #### #  # #####  #    ##### ####  ###   #### #  # #####  #    # 
#               ###############    ## ### ###### ######## #### ##### ####### ##### ###    # # #### ### ##### ####### ##### ###    # # #### ### ##### # 
#                #        ##########  ### ## #####  ## #### ## # #####  ## ##### ####   ##### ## # ##  ## ####  ## ##### ####   ##### ## # ##  ## #### 
#                #                                                                                                                                     
#                #                                                                                                                                     
#                #                                                                                                                                     
##################                                                                                                                                     

The most natural place for 1L_a code is before line 19, because IP would encounter non-# character naturally and turn left (east). However, placing code there would require to return IP to the left edge of the program to exit which cannot be done because memory pointer would go below zero. So I exit through the top instead which requires to place 1L_a code as close to the top as possible.

There must be room before ##### line for Simula and Lily, so 1L_a IP first goes to line 9. Simula (#comment) must be before ##### line because it requires # of preprocessor directives to be in the first column. Space in first column on line 10 is used to turn 1L_a IP. Lily (#[#[) must be before ##### line because ### is a special comment which must be followed by valid Lily code.

This answer has two sets of changes:

  • to create ##### line and fix broken languages
  • to add 1L_a main code and fix broken languages on lines 1-2

##### line

Moved two lines added for Zephyr up. Destroyed 3 occurrences of -# in INTERCAL code. Swapped #`<` and #[#[. Fixed bf with additional ]] and \[\[ on lines 7/17.

Moved bf derivatives line to catch Wierd, note that zkl's #<<<# cannot start on second column, so it stays where it was. Line 9 cannot catch Wierd IP because there is a space in the first column on line 10. Removed >> in the beginning of bf derivatives code, angle brackets do not need to be balanced there now. First x on line 10 is for 1L_AOI, second x is for MarioLANG.

Moved 8=, to line 4, added '=> before main cockfuck code.

1L_a main code

First # in ##*/ on line 1 is for Turtlèd. A bunch of 2s are for Pyth, 7 before them is for l33t.

To fix Prelude what was moved to line 6 and ( was moved left on line 2. It broke Deadfish~ (iiipsddpsdoh), so it moved left too. ?? on line 2 is for Brian & Chuck. a in a5 is for Del|m|t, a after MiLambda is for Beatnik.

Interpreter has a bug which requires to have non-# characters below main code (line 6 cannot be shorter than line 5), so what code on line 6 is padded with spaces.

Didn't move l33t to line 1 because it breaks 05AB1E. Didn't move Shove (1P''53'S^') into 1L_a because it breaks MiLambda.

Others

Cubix is enclosed in [] for Agony.
Haskell: moved MagicHash code to one line.