The Programming Language Quiz, Mark II - Cops

61

19

A repost of this challenge. Meta discussion. Sandbox post. Body of the question similar to the original

Robber's challenge

This cops and robbers is now (08/03/2018) closed to further competing cop entries, as robbers may no longer be competing to crack answers, but feel free to post new answers.

The Cops challenge was won by Dennis with his brilliant 6 byte Sesos answer

The Robbers challenge was won by totallyhuman, with an astounding 30 cracks!

The Cops' Challenge

To compete as a cop:

  1. Choose a programming language. A valid programming language is one which meets all three of these criteria:

  2. Write a full program that outputs the numbers from 1 to 100, inclusive, in ascending order. You can output as decimal integers, as bytecode values (! to represent 33, for instance), or as unary digits (1111 for 4, e.g)1. If using unary, you should use any consistent character for digits, and a different, consistent character as a delimiter. If using integers, you should output with a constant non-digit delimiter between each number. You may also output with leading and trailing characters (such as []) but please be sensible (don't output a thousand bytes of rubbish either side of the count for instance). You must specify your output format in your answer.

    You must not assume a REPL environment or existing boilerplate code. Flags may be used, but you must reveal what flags are used in your answer. The program must be in the form of one or more source files (to rule out quirky languages like Folders) and must fit into your answer in full (so it must not be longer than 65,536 characters) - this shouldn't be an issue for any serious submission.

    If your code contains bytes outside of printable ASCII + newline, please include a hex dump to make sure your code is actually testable.

    The program must terminate within 5 minutes on a typical desktop PC.

That's it. However, as with everything, there is a catch. You should aim to obfuscate your program as much as possible, as the Robbers' task is to guess the language you used. You should also aim to make sure that your program only works in the intended language (although this is likely to be less of a problem than the Foo cracks in the original challenge). The output format must be the same as your intended solution in order to constitute a valid crack.

Once 7 days have passed without anyone discovering any language where your program is a valid crack, you may reveal the language and mark it as safe. Please note, your submission can still be cracked until you reveal the language.

You must not under any circumstances edit the source code of your submission once posted (as this may invalidate a robber's active attempts at cracking your answer). So make sure that you golf it as well as you can (or dare) before posting. If you realise that your answer does not work after posting it, simply delete your answer and post a fixed version if you want to.

The shortest safe submission in bytes wins!

1: If you wish to output in a different way, please ask in the comments

The Stack Snippet

You can use this stack snippet to browse the answers more easily:

answersSafe=[];answersCracked=[];answersUncracked=[];answerPage=1;robberTodo=[];userNames={};robberMap={};robberStats={};robberTimes={};function template($element,data){var $clone=$element.clone().removeClass('template');var html=$clone.html();for(var key in data){html=html.replace('{'+key+'}',data[key])}$clone.html(html);$element.after($clone)}function hideEmpty(){$('tbody').each(function(){if($(this).find('tr:not(.template):has(td)').length==0){$(this).find('tr:not(.empty):has(th)').addClass('inactive');$(this).find('tr.empty').removeClass('inactive')}})}function formatError(obj,reason){template($('.warn.template'),{id:obj.cop_id,cop:obj.cop_user,reason:reason})}function showAnswers(category,selector,sorter){sorter(category);$('#'+selector).find('tr:not(.template):has(td)').remove();$.each(category,function(i,answer){template($('#'+selector+' .template'),answer)});$('code:has(br)').addClass('clickable').click(function(){$(this).toggleClass('full')});updateCountdowns()}function getAnswers(){$.ajax({url:"https://api.stackexchange.com/2.2/questions/155018/answers?pagesize=100&order=desc&sort=creation&site=codegolf&filter=!*LUzJZNOIUpZsWsZBLe&page="+(answerPage++),method:"get",dataType:"jsonp"}).then(function(data){$.each(data.items,function(i,answer){var obj={cop_id:answer.answer_id,cop_user:answer.owner.display_name,cop_time:answer.creation_date,safe_on:answer.creation_date+604800};var $e=$('<div/>').html(answer.body);var $headers=$e.find(':header');if($headers.length==0){return formatError(obj,"no header")}var header=$headers.first().html();var $code=$e.find('pre code');if($code.length==0){return formatError(obj,"no code")}obj.code=$code.first().html().replace(/\n/g,'<br/>');if(obj.code.endsWith('<br/>')){obj.code=obj.code.slice(0,-5)}var bm=/(\d+)\s+bytes/.exec(header);if(bm==null){return formatError(obj,"no bytecount")}obj.size=parseInt(bm[1]);if(obj.size==NaN){return formatError(obj,"bytecount is NaN: "+bm[1])}obj.language=header.slice(0,bm.index).trim();while(obj.language.charAt(obj.language.length-1)!=','&&obj.language.length!=0){obj.language=obj.language.slice(0,-1)}if(obj.language.length==0){return formatError(obj,"no/bad separator before bytecount")}obj.language=obj.language.slice(0,-1).trim();obj.language_text=$('<div/>').html(obj.language).text();var end=header.slice(bm.index+bm[0].length).trim();if(end.length==0){if(obj.language!=="???"){return formatError(obj,"not marked as safe nor cracked, but language is "+obj.language+" (expected ???)")}return answersUncracked.push(obj)}if(!end.startsWith(',')){return formatError(obj,"no/bad separator after bytecount")}end=end.slice(1).trim();if(end==='safe'){return answersSafe.push(obj)}var $end=$('<div/>').html(end);var end_text=$end.text();if(!end_text.startsWith('cracked')){return formatError(obj,"expected 'cracked' or 'safe', got '"+end_text+"'")}var expectedURL='https://codegolf.stackexchange.com/a/';var $links=$end.find('a');if($links.length==0){return formatError(obj,"no cracked link")}var robberURL=$links.first().attr('href');if(!robberURL.startsWith(expectedURL)){return formatError(obj,"link does not start with "+expectedURL+": "+robberURL)}obj.robber_id=parseInt(robberURL.slice(expectedURL.length));if(obj.robber_id==NaN){return formatError(obj,"robber_id is NaN")}robberTodo.push(obj.robber_id);answersCracked.push(obj)});if(data.has_more){getAnswers()}else{getRobbers()}})}function sortBySize(category){category.sort(function(a,b){return b.size-a.size})}function sortByTime(category){category.sort(function(a,b){return b.cop_time-a.cop_time})}function sortByLiveTime(category){category.sort(function(a,b){return b.cracked_after-a.cracked_after})}function sortByCop(category){category.sort(function(a,b){return b.cop_user.localeCompare(a.cop_user)})}function sortByRobber(category){category.sort(function(a,b){return b.robber_user.localeCompare(a.robber_user)})}function sortByLanguage(category){category.sort(function(a,b){return b.language_text.localeCompare(a.language_text)})}function getRobbers(){if(robberTodo.length==0){$.each(answersCracked,function(i,answer){answer.robber_user=userNames[robberMap[answer.robber_id]];answer.cracked_after=robberTimes[answer.robber_id]-answer.cop_time;answer.cracked_after_str=formatTime(answer.cracked_after)});showAnswers(answersUncracked,'uncracked',sortByTime);showAnswers(answersCracked,'cracked',sortByLiveTime);showAnswers(answersSafe,'safe',sortBySize);hideEmpty();var graphData=[];$.each(robberStats,function(k,v){graphData.push({name:decodeEntities(userNames[k]),value:v})});graphData.sort(function(a,b){if(a.value==b.value){return a.name.localeCompare(b.name)}else{return b.value-a.value}});var graphLabels=[];var graphValues=[];$.each(graphData,function(i,obj){graphLabels.push(obj.name);graphValues.push(obj.value)});var graphColors=[];for(var i=0;i<graphData.length;i+=1){graphColors.push(['#b58900','#cb4b16','#dc322f','#d33682','#6c71c4','#268bd2','#2aa198','#859900'][i%8])}$('#robber-stats').attr('width',600);$('#robber-stats').attr('height',24*graphData.length+66);$('#answer-stats').attr('width',600);$('#answer-stats').attr('height',400);Chart.defaults.global.defaultFontColor='#839496';new Chart($('#robber-stats'),{type:'horizontalBar',data:{labels:graphLabels,datasets:[{data:graphValues,backgroundColor:graphColors}]},options:{responsive:false,legend:false,tooltips:false,layout:{padding:{right:40}},title:{display:true,text:'Number of answers cracked per robber',fontSize:18},scales:{yAxes:[{gridLines:{display:false}}],xAxes:[{gridLines:{display:false},ticks:{beginAtZero:true}}]},plugins:{datalabels:{anchor:'end',align:'end'}}}});new Chart($('#answer-stats'),{type:'pie',data:{labels:['Uncracked','Cracked','Safe'],datasets:[{data:[answersUncracked.length,answersCracked.length,answersSafe.length],backgroundColor:['#2aa198','#dc322f','#859900'],borderColor:'#002b36'}]},options:{responsive:false,tooltips:{backgroundColor:'#073642',displayColors:false},title:{display:true,text:'Number of answers in each category',fontSize:18},plugins:{datalabels:false}}});updateCountdowns();setInterval(updateCountdowns,1000);$('#loading').hide()}else{$.ajax({url:"https://api.stackexchange.com/2.2/answers/"+robberTodo.slice(0,100).join(';')+"?site=codegolf&filter=!*RB.h_b*K*dQTllFUdy",method:"get",dataType:"jsonp"}).then(function(data){$.each(data.items,function(i,robber){robberTodo=robberTodo.filter(function(e){return e!==robber.answer_id});robberMap[robber.answer_id]=robber.owner.user_id;robberTimes[robber.answer_id]=robber.creation_date;userNames[robber.owner.user_id]=robber.owner.display_name;if(robber.owner.user_id in robberStats){robberStats[robber.owner.user_id]+=1}else{robberStats[robber.owner.user_id]=1}});getRobbers()})}}var decodeEntities=(function(){var element=document.createElement('div');function decodeHTMLEntities(str){if(str&&typeof str==='string'){str=str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi,'');str=str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi,'');element.innerHTML=str;str=element.textContent;element.textContent=''}return str}return decodeHTMLEntities})();function formatTime(seconds){var arr=[];if(seconds>86400){arr.push(Math.floor(seconds/86400)+" days");seconds%=86400}if(seconds>3600){arr.push(Math.floor(seconds/3600)+" hours");seconds%=3600}if(seconds>60){arr.push(Math.floor(seconds/60)+" minutes");seconds%=60}if(seconds!=0){arr.push(seconds+" seconds")}return arr.join(', ').split('').reverse().join('').replace(',','dna ').split('').reverse().join('')}function updateCountdowns(){$('tr:not(.template) .countdown').each(function(){var target=$(this).attr('data-target');var now=Math.floor(+new Date()/1000);if(target-now<86400){$(this).addClass('urgent')}else{$(this).removeClass('urgent')}if(target<now){$(this).removeClass('countdown').text('Safe! (according to your computer\'s time)')}else{$(this).text(formatTime(target-now))}})}$('thead, #stats-header').click(function(){$(this).toggleClass('hidden')});getAnswers();
*{margin:0;padding:0;font:12pt sans-serif;}html,body{background:#002b36;color:#839496;width:100%;height:100%;}body>:not(.i):not(#loading){margin:5px;}#loading{background:rgb(64,64,64,0.8);position:fixed;top:0;left:0;width:100%;height:100%;display:table;z-index:100;}#loading-wrapper{display:table-cell;vertical-align:middle;text-align:center;font-size:20pt;color:#ddd;}#fullpage-msg,.warn{padding:5px 5px 5px 5px;margin:10px 0px;}@media (min-width:800px){#fullpage-msg{display:none;}}a{color:#268bd2;}code{font-family:monospace;font-size:16px;background:#073642;padding:1px 5px;white-space:pre;position:relative;}.clickable{cursor:pointer;}code:not(.full){max-height:38px;overflow:hidden;}code.clickable:not(.full):before{content:'';background:linear-gradient(transparent 20px,rgba(7,54,66,0.8) 32px,#002b36);position:absolute;top:0;left:0;width:100%;height:100%;}td,th{padding:5px;vertical-align:top;white-space:nowrap;text-align:left;}thead th,#stats-header{font-size:20pt;margin:10px 0;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;cursor:pointer;}th{font-weight:bold;}path{fill:#839496;}thead:not(.hidden) .right-arrow,#stats-header:not(.hidden) .right-arrow,thead.hidden .down-arrow,#stats-header.hidden .down-arrow{visibility:hidden;}.hidden+tbody,.hidden+#stats,.template,.inactive{display:none;}small,code{display:block;}small,small a{font-size:8pt;}#stats-header{font-weight:bold;padding:6px;}.urgent{color:#dc322f;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script><script>!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("chart.js")):"function"==typeof define&&define.amd?define(["chart.js"],e):e(t.Chart)}(this,function(t){"use strict";var e=(t=t&&t.hasOwnProperty("default")?t.default:t).helpers,n={toTextLines:function(t){var n,a=[];for(t=[].concat(t);t.length;)"string"==typeof(n=t.pop())?a.unshift.apply(a,n.split("\n")):Array.isArray(n)?t.push.apply(t,n):e.isNullOrUndef(t)||a.unshift(""+n);return a},toFontString:function(t){return!t||e.isNullOrUndef(t.size)||e.isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family},textSize:function(t,e,n){var a,r=[].concat(e),i=r.length,o=t.font,l=0;for(t.font=n.string,a=0;a<i;++a)l=Math.max(t.measureText(r[a]).width,l);return t.font=o,{height:i*n.lineHeight,width:l}},parseFont:function(a){var r=t.defaults.global,i=e.valueOrDefault(a.size,r.defaultFontSize),o={family:e.valueOrDefault(a.family,r.defaultFontFamily),lineHeight:e.options.toLineHeight(a.lineHeight,i),size:i,style:e.valueOrDefault(a.style,r.defaultFontStyle),weight:e.valueOrDefault(a.weight,null),string:""};return o.string=n.toFontString(o),o},bound:function(t,e,n){return Math.max(t,Math.min(e,n))}};function a(t,e){var n=e.x,a=e.y;if(null===n)return{x:0,y:-1};if(null===a)return{x:1,y:0};var r=t.x-n,i=t.y-a,o=Math.sqrt(r*r+i*i);return{x:o?r/o:0,y:o?i/o:-1}}function r(t,e,n,a,r){switch(r){case"center":n=a=0;break;case"bottom":n=0,a=1;break;case"right":n=1,a=0;break;case"left":n=-1,a=0;break;case"top":n=0,a=-1;break;case"start":n=-n,a=-a;break;case"end":break;default:r*=Math.PI/180,n=Math.cos(r),a=Math.sin(r)}return{x:t,y:e,vx:n,vy:a}}var i={arc:function(t,e,n){var a,i=(t.startAngle+t.endAngle)/2,o=Math.cos(i),l=Math.sin(i),s=t.innerRadius,d=t.outerRadius;return a="start"===e?s:"end"===e?d:(s+d)/2,r(t.x+o*a,t.y+l*a,o,l,n)},point:function(t,e,n,i){var o=a(t,i),l=t.radius,s=0;return"start"===e?s=-l:"end"===e&&(s=l),r(t.x+o.x*s,t.y+o.y*s,o.x,o.y,n)},rect:function(t,e,n,i){var o=t.horizontal,l=Math.abs(t.base-(o?t.x:t.y)),s=o?Math.min(t.x,t.base):t.x,d=o?t.y:Math.min(t.y,t.base),u=a(t,i);return"center"===e?o?s+=l/2:d+=l/2:"start"!==e||o?"end"===e&&o&&(s+=l):d+=l,r(s,d,u.x,u.y,n)},fallback:function(t,e,n,i){var o=a(t,i);return r(t.x,t.y,o.x,o.y,n)}},o=t.helpers;var l=function(t,e){this._el=t,this._index=e,this._model=null};o.extend(l.prototype,{_modelize:function(e,a,r,l){var s,d=this._index,u=o.options.resolve,f=n.parseFont(u([r.font,{}],l,d));return{align:u([r.align,"center"],l,d),anchor:u([r.anchor,"center"],l,d),backgroundColor:u([r.backgroundColor,null],l,d),borderColor:u([r.borderColor,null],l,d),borderRadius:u([r.borderRadius,0],l,d),borderWidth:u([r.borderWidth,0],l,d),color:u([r.color,t.defaults.global.defaultFontColor],l,d),font:f,lines:a,offset:u([r.offset,0],l,d),opacity:u([r.opacity,1],l,d),origin:function(t){var e=t._model.horizontal,n=t._scale||e&&t._xScale||t._yScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var a=n.getBasePixel();return e?{x:a,y:null}:{x:null,y:a}}(this._el),padding:o.options.toPadding(u([r.padding,0],l,d)),positioner:(s=this._el,s instanceof t.elements.Arc?i.arc:s instanceof t.elements.Point?i.point:s instanceof t.elements.Rectangle?i.rect:i.fallback),rotation:u([r.rotation,0],l,d)*(Math.PI/180),size:n.textSize(e,a,f),textAlign:u([r.textAlign,"start"],l,d)}},update:function(t,e,a){var r,i,l,s=null,d=this._index;o.options.resolve([e.display,!0],a,d)&&(r=a.dataset.data[d],i=o.valueOrDefault(o.callback(e.formatter,[r,a]),r),s=(l=o.isNullOrUndef(i)?[]:n.toTextLines(i)).length?this._modelize(t,l,e,a):null),this._model=s},draw:function(t){var e,a,r,i,l,s,d,u,f,h,c,y,g,x,b=this._model;b&&b.opacity&&(r=b.size,i=b.padding,l=r.height,s=r.width,u=-l/2,e={frame:{x:(d=-s/2)-i.left,y:u-i.top,w:s+i.width,h:l+i.height},text:{x:d,y:u,w:s,h:l}},a=function(t,e,n){var a=e.positioner(t._view,e.anchor,e.align,e.origin),r=a.vx,i=a.vy;if(!r&&!i)return{x:a.x,y:a.y};var o=e.borderWidth||0,l=n.w+2*o,s=n.h+2*o,d=e.rotation,u=Math.abs(l/2*Math.cos(d))+Math.abs(s/2*Math.sin(d)),f=Math.abs(l/2*Math.sin(d))+Math.abs(s/2*Math.cos(d)),h=1/Math.max(Math.abs(r),Math.abs(i));return u*=r*h,f*=i*h,u+=e.offset*r,f+=e.offset*i,{x:a.x+u,y:a.y+f}}(this._el,b,e.frame),t.save(),t.globalAlpha=n.bound(0,b.opacity,1),t.translate(Math.round(a.x),Math.round(a.y)),t.rotate(b.rotation),f=t,h=e.frame,y=(c=b).backgroundColor,g=c.borderColor,x=c.borderWidth,(y||g&&x)&&(f.beginPath(),o.canvas.roundedRect(f,Math.round(h.x)-x/2,Math.round(h.y)-x/2,Math.round(h.w)+x,Math.round(h.h)+x,c.borderRadius),f.closePath(),y&&(f.fillStyle=y,f.fill()),g&&x&&(f.strokeStyle=g,f.lineWidth=x,f.lineJoin="miter",f.stroke())),function(t,e,n,a){var r,i,o,l=a.textAlign,s=a.font.lineHeight,d=a.color,u=e.length;if(u&&d)for(r=n.x,i=n.y+s/2,"center"===l?r+=n.w/2:"end"!==l&&"right"!==l||(r+=n.w),t.font=a.font.string,t.fillStyle=d,t.textAlign=l,t.textBaseline="middle",o=0;o<u;++o)t.fillText(e[o],Math.round(r),Math.round(i),Math.round(n.w)),i+=s}(t,b.lines,e.text,b),t.restore())}});var s=t.helpers,d={align:"center",anchor:"center",backgroundColor:null,borderColor:null,borderRadius:0,borderWidth:0,color:void 0,display:!0,font:{family:void 0,lineHeight:1.2,size:void 0,style:void 0,weight:null},offset:4,opacity:1,padding:{top:4,right:4,bottom:4,left:4},rotation:0,textAlign:"start",formatter:function(t){if(s.isNullOrUndef(t))return null;var e,n,a,r=t;if(s.isObject(t))if(s.isNullOrUndef(t.label))if(s.isNullOrUndef(t.r))for(r="",a=0,n=(e=Object.keys(t)).length;a<n;++a)r+=(0!==a?", ":"")+e[a]+": "+t[e[a]];else r=t.r;else r=t.label;return""+r}},u=t.helpers,f="$datalabels";t.defaults.global.plugins.datalabels=d,t.plugins.register({id:"datalabels",afterDatasetUpdate:function(t,e,n){var a,r,i,o,s,d=t.data.datasets[e.index],h=(a=n,!1===(r=d.datalabels)?null:(!0===r&&(r={}),u.merge({},[a,r]))),c=e.meta.data||[],y=c.length,g=t.ctx;for(g.save(),i=0;i<y;++i)(o=c[i])&&!o.hidden?(s=new l(o,i)).update(g,h,{chart:t,dataIndex:i,dataset:d,datasetIndex:e.index}):s=null,o[f]=s;g.restore()},afterDatasetDraw:function(t,e){var n,a,r=e.meta.data||[],i=r.length;for(n=0;n<i;++n)(a=r[n][f])&&a.draw(t.ctx)}})});</script><div id="loading"><span id="loading-wrapper">Loading...</span></div><div id="fullpage-msg"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 111.577 111.577"><path d="M78.962,99.536l-1.559,6.373c-4.677,1.846-8.413,3.251-11.195,4.217c-2.785,0.969-6.021,1.451-9.708,1.451c-5.662,0-10.066-1.387-13.207-4.142c-3.141-2.766-4.712-6.271-4.712-10.523c0-1.646,0.114-3.339,0.351-5.064c0.239-1.727,0.619-3.672,1.139-5.846l5.845-20.688c0.52-1.981,0.962-3.858,1.316-5.633c0.359-1.764,0.532-3.387,0.532-4.848c0-2.642-0.547-4.49-1.636-5.529c-1.089-1.036-3.167-1.562-6.252-1.562c-1.511,0-3.064,0.242-4.647,0.71c-1.59,0.47-2.949,0.924-4.09,1.346l1.563-6.378c3.829-1.559,7.489-2.894,10.99-4.002c3.501-1.111,6.809-1.667,9.938-1.667c5.623,0,9.962,1.359,13.009,4.077c3.047,2.72,4.57,6.246,4.57,10.591c0,0.899-0.1,2.483-0.315,4.747c-0.21,2.269-0.601,4.348-1.171,6.239l-5.82,20.605c-0.477,1.655-0.906,3.547-1.279,5.676c-0.385,2.115-0.569,3.731-0.569,4.815c0,2.736,0.61,4.604,1.833,5.597c1.232,0.993,3.354,1.487,6.368,1.487c1.415,0,3.025-0.251,4.814-0.744C76.854,100.348,78.155,99.915,78.962,99.536z M80.438,13.03c0,3.59-1.353,6.656-4.072,9.177c-2.712,2.53-5.98,3.796-9.803,3.796c-3.835,0-7.111-1.266-9.854-3.796c-2.738-2.522-4.11-5.587-4.11-9.177c0-3.583,1.372-6.654,4.11-9.207C59.447,1.274,62.729,0,66.563,0c3.822,0,7.091,1.277,9.803,3.823C79.087,6.376,80.438,9.448,80.438,13.03z"/></svg> Click the "Full page" link in the top right for vastly superior experience</div><div class="warn template">&#9888; <a href="https://codegolf.stackexchange.com/a/{id}">This answer</a> by {cop} is not formatted correctly ({reason}).</div><table><thead><tr><th colspan="5"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Uncracked answers</th></tr></thead><tbody id="uncracked"><tr><th colspan="3" onclick="showAnswers(answersUncracked, 'uncracked', sortByCop)" class="clickable">Posted by</th><th onclick="showAnswers(answersUncracked, 'uncracked', sortBySize)" class="clickable">Size</th><th onclick="showAnswers(answersUncracked, 'uncracked', sortByTime)" class="clickable">Safe in</th><th>Code</th></tr><tr class="empty inactive"><th colspan="5">There are no uncracked answers</th></tr><tr class="template"><td colspan="3"><a href="https://codegolf.stackexchange.com/a/{cop_id}">{cop_user}</a></td><td>{size} bytes</td><td><span class="countdown" data-target="{safe_on}"></span></td><td><code>{code}</code></td></tr></tbody><thead><tr><th colspan="5"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Cracked answers</th></tr></thead><tbody id="cracked"><tr><th onclick="showAnswers(answersCracked, 'cracked', sortByCop)" class="clickable">Posted by</th><th onclick="showAnswers(answersCracked, 'cracked', sortByRobber)" class="clickable">Cracked by</th><th onclick="showAnswers(answersCracked, 'cracked', sortByLanguage)" class="clickable">Language</th><th onclick="showAnswers(answersCracked, 'cracked', sortBySize)" class="clickable">Size</th><th onclick="showAnswers(answersCracked, 'cracked', sortByLiveTime)" class="clickable">Cracked after</th><th>Code</th></tr><tr class="empty inactive"><th colspan="5">There are no cracked answers</th></tr><tr class="template"><td><a href="https://codegolf.stackexchange.com/a/{cop_id}">{cop_user}</a></td><td><a href="https://codegolf.stackexchange.com/a/{robber_id}">{robber_user}</a></td><td>{language}</td><td>{size} bytes</td><td>{cracked_after_str}</td><td><code>{code}</code></td></tr></tbody><thead><tr><th colspan="5"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Safe answers</th></tr></thead><tbody id="safe"><tr><th colspan="2" onclick="showAnswers(answersSafe, 'safe', sortByCop)" class="clickable">Posted by</th><th onclick="showAnswers(answersSafe, 'safe', sortByLanguage)" class="clickable">Language</th><th colspan="2" onclick="showAnswers(answersSafe, 'safe', sortBySize)" class="clickable">Size</th><th>Code</th></tr><tr class="empty inactive"><th colspan="5">There are no safe answers</th></tr><tr class="template"><td colspan="2"><a href="https://codegolf.stackexchange.com/a/{cop_id}">{cop_user}</a></td><td>{language}</td><td colspan="2">{size} bytes</td><td><code>{code}</code></td></tr></tbody></table><div id="stats-header"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 9 9"><path class="right-arrow" d="M 0 0 L 0 9 L 9 4.5 Z"/><path class="down-arrow" d="M 0 0 L 9 0 L 4.5 9 Z"/></svg> Statistics</div><div id="stats"><div><canvas id="robber-stats"/></div><div><canvas id="answer-stats"/></div></div><small>Snippet made by <a href="https://codegolf.stackexchange.com/u/55934/" target="_blank">NieDzejkob</a>, licensed as <a href="https://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC 3.0 BY-SA</a>. "Info" icon made by <a href="https://www.flaticon.com/authors/chanut" target="_blank">Chanut</a> from <a href="https://www.flaticon.com/" target="_blank">Flaticon</a>, licensed as <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">CC 3.0 BY</a>. "Arrow" icons made by <a href="https://codegolf.stackexchange.com/u/12012/" target="_blank">Dennis</a> for <a href="https://tio.run/" target="_blank">Try It Online</a>, licensed as <a href="https://github.com/TryItOnline/tryitonline/blob/master/LICENSE" target="_blank">MIT</a>. Some code shamelessly copy-pasted from <a href="https://stackoverflow.com/a/9609450">this answer</a> on Stack Overflow by <a href="https://stackoverflow.com/u/24950">Robert K</a>, licensed as <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC 3.0 BY-SA</a>. This snippet utilises <a href="http://jquery.com/">jQuery</a> (<a href="https://github.com/jquery/jquery/blob/master/LICENSE.txt">MIT</a>), <a href="http://www.chartjs.org/">chart.js</a> (<a href="https://github.com/chartjs/Chart.js/blob/master/LICENSE.md">MIT</a>) and <a href="https://github.com/chartjs/chartjs-plugin-datalabels/">chartjs-plugin-datalabels</a> (<a href="https://github.com/chartjs/chartjs-plugin-datalabels/blob/master/LICENSE.md">MIT</a>). Color scheme: <a href="http://ethanschoonover.com/solarized">Solarized by Ethan Schoonover</a> (<a href="https://github.com/altercation/solarized/blob/master/LICENSE">MIT</a>).</small>

Formatting

(Feel free to skip this section if you're not planning to participate as a cop)

This is required for new cop answers to make it possible for the snippet above to parse them.

  • New answers should include a header like this:

    # ???, [N] bytes
    

    where [N] is the size of your code in bytes and ??? should appear literally.

  • If the answer is not cracked for 7 days and you want to make your answer safe by revealing the language, simply replace the ??? and add safe to the end, e.g.

    # Ruby, [N] bytes, safe
    

    Feel free to have the language name link to a relevant website like an esolangs page or a GitHub repository. The link will then be displayed in the leaderboard.

  • If another user successfully cracked your submission, please also add the language, along with a notice like

    # Ruby, [N] bytes, [cracked](crack-link) by [user]
    

    where [user] is the name of the user who submitted the first valid crack, and crack-link is a link to the corresponding answer in the Robbers' thread. Please use the short link format you get from the "share" button. Feel free to make the user name a link to their profile page.

    If the language used in the crack is different from the one you intended, your answer is still cracked, and you shall follow this format. However, you can mention in the answer that you intended it to be something else. It's your choice on whether you want to reveal the intended answer, or if you want to let Robbers have more fun.

Good luck Cops!

caird coinheringaahing

Posted 2018-02-06T18:55:24.897

Reputation: 13 702

7How not to compete in this challenge. – Magic Octopus Urn – 2018-02-08T17:55:49.670

1Note that if you're using a language with an interpreter on TIO, all someone has to do to crack your submission is try every language on TIO. – mbomb007 – 2018-02-08T23:08:07.117

@mbomb007 Take a look at this comment. Aside from requesting that Robbers don't brute-force, there is nothing more that we can do to prevent this behaviour unfortunately. However, I invite anyone to downvote Robbers using scripts to brute-force submissions as it contradicts the spirit of the challenge.

– caird coinheringaahing – 2018-02-08T23:16:05.907

If a submission is written in a language (say C), but it only works in a specific compiler (say ELVM 8cc), does the compiler have to have a wikipedia/rosettacode/esolangs page, or is it only required for the language itself? – NieDzejkob – 2018-02-13T13:49:54.490

@NieDzejkob I'd say that the compiler has to be on Wikipedia/Rosetta Code/Esolangs or be on TIO. – caird coinheringaahing – 2018-02-13T15:45:53.630

@cairdcoinheringaahing Both answers that inspired me to ask that question are a gray area: This Beatnik answer only works in some interpreters, and none of them have their own page. However, a working interpreter is linked on the esolangs page. In the case of this, the language is installed on TIO, but it's not listed on the language list. These answers have already been cracked, but I think that the rules should be modified to be unambigous in the future.

– NieDzejkob – 2018-02-13T16:24:21.840

Also, what about languages that have a free interpreter, but the interpreter requires other, commercial software? Is the ruling different for Windows-only software that does not work in wine or mono? – NieDzejkob – 2018-02-13T16:25:51.493

@NieDzejkob In the case of the Beatnik answer, the interpreter used was linked on the esolangs page, so I'd say it's completely fine. The C answer, however, doesn't meet the first criteria, so I'd have to say it's invalid. Free means that anyone is available to use it without having to pay to do so. – caird coinheringaahing – 2018-02-13T16:51:42.570

@caird I understand that you are talking about free as in beer. However, is the operating system included, or is it an exception? This could be important for the AutoHotkey answer, for example (I haven't tried wine, mono, nor ReactOS)

– NieDzejkob – 2018-02-13T17:32:55.100

@NieDzejkob I'll say that the operating system is not included in the 'free' requirement. – caird coinheringaahing – 2018-02-13T17:59:07.483

Somebody compete in Piet please. – Magic Octopus Urn – 2018-02-20T19:07:21.060

Is my safe answer invalid – Christopher – 2018-02-21T12:39:59.173

Does the leading/trailing character rule apply to codepoint output? – NieDzejkob – 2018-02-24T15:29:43.627

@NieDzejkob I'll say no (codepoint outputs can have any leading or trailing characters, same as the other output forms), because it might invalid a number of answers. – caird coinheringaahing – 2018-02-24T19:18:59.050

Answers

11

Sesos, 6 bytes, safe

}%*xg2

Output is in decimal.

Try it online!

Sesos can be written in either binary or assembly format. The assembly file that generated the binary file above follows.

set mask
set numout

fwd 1, add 44

nop
	fwd 1, add 1, put
	rwd 1, sub 3
jnz

Try it online!

It took some odd choices (a useless fwd 1, a nop that could have been a jmp, add 44 and sub 3 instead of add 100 and sub 1), but I managed to create a binary file consisting solely of printable ASCII characters (so it wouldn't look like a binary file).

Dennis

Posted 2018-02-06T18:55:24.897

Reputation: 196 637

50

Beatnik, 114 bytes, cracked by Johannes Griebler

Mit' tää kauniina kelaa?
Mil tää öisin pelaa?
Sun suu kauniina sanoo:
Kroohhpyyh-ZZZ-ZZZZ Z
Nukuttaapi kovin!

It's a poem in Finnish! And a program. It prints the numbers as bytes.

English translation:

What does that beautiful think?
What does it play at night?
Your beautiful mouth says:
(snoring) ZZZ ZZZ
I feel very sleepy!

I'm surprised it took this long to crack this, especially as the another Beatnik submission was cracked quickly.

This does not work with the Python interpreter (used in TIO) because of the way it handles special characters. It considers Kroohhpyyh-ZZZ-ZZZZ to be three different words, while it should be interpreted as one big. Use the C interpreter to run this.

Explanation:

Mit' tää                   | Push 1
kauniina kelaa?            | Duplicate and print
Mil tää                    | Push 1
öisin                      | Nop
pelaa?                     | Pop 2 and push their sum
Sun suu                    | Nop
kauniina                   | Duplicate
sanoo: Kroohhpyyh-ZZZ-ZZZZ | Push 101
Z                          | Subtract
Nukuttaapi kovin!          | Jump 12 words backwards (to the first "kauniina")

fergusq

Posted 2018-02-06T18:55:24.897

Reputation: 4 867

4Dang, I fell for that trap. – totallyhuman – 2018-02-06T22:08:50.717

You love the Finnish language, nice one, making us think Tampio! (No clue what language it is) – Zacharý – 2018-02-07T01:57:16.050

6Those "Z"s look suspicious... – 12Me21 – 2018-02-07T15:58:35.953

26Apparently in Finnish you snore with more Z's than in English... – Enrico Borba – 2018-02-08T08:29:02.690

What does this output as? (e.g. raw bytes, decimal separated by newline, etc) – MD XF – 2018-02-11T19:44:54.647

3Cracked by Johannes Griebler – caird coinheringaahing – 2018-02-11T20:53:53.027

1This is really Beatnik? The TIO interpreter must not be compliant.... I think pretty much everyone tried it – a spaghetto – 2018-02-11T22:06:39.057

6@quartata I knew people wouldn't bother to install the C interpreter. That's why I made sure that this program does not work in TIO. :P – fergusq – 2018-02-11T22:18:05.807

Nice workaround of the rules... – Zacharý – 2018-02-11T22:37:01.140

2Looks like I got an advantage from not knowing TIO until know. The C interpreter was the first one linked from esolangs, so I tried that. – Johannes Griebler – 2018-02-11T22:55:46.587

25

Hexagony, 62 bytes, cracked by totallyhuman

i=100 while(i>0){p(100-i+"d")!}i=%<>--1;if(_@==0){_@=-100}end;

Prints decimals separated by a single lowercase d.

I'd be impressed if this works in any unintended language.

Since this has already been cracked, here is the actually executed code:

    i = 1 0 0      * equal to 105100, just has to be above 0 for the first number
   . . . . . .
  . . . . . . .
 . . . . . . . .
" ) ! } i = % < >  * prints the number and stops if i % 100 == 0
 . . . . . . . _
  @ . . . . . .
   . . . . . .
    } . . d ;      * prints "d" and stores 100 in the memory edge

Everything else is a no-op, denoted by ..

Adyrem

Posted 2018-02-06T18:55:24.897

Reputation: 521

2Cracked. – totallyhuman – 2018-02-07T10:42:40.533

23

8086 DOS COM, 58 bytes, cracked by tsh

huCX5DBP^h~0_GG1<h32X542P[18F18h42X%AAP[h!.X%OOS`M a@<euws

I/O format: raw characters

Explanation

The basic program looks like this:

    mov ax, 0x0e01 ; <b8><01><0e>
    xor bx, bx     ; <31><db>
_loop:
    pusha          ; `
    int 0x10       ; <cd><10>
    popa           ; a
    inc al         ; <fe><c0>
    cmp al, 101    ; <e
    jne _loop      ; u<f6>
    ret            ; <c3>

However, this variant uses many unprintable characters, which would be a big hint. Fortunately, some printable instructions include:

and ax, imm16    %
xor [si], di     1<
xor [si+bx], di  18
xor ax, imm16    5
inc r16          @ABCDEFG
dec r16          HIJKLMNO
push r16         PQRSTUVW
pop r16          XYZ[\]^_
cmp al, imm8     <
pusha            `
popa             a
push imm16       h

First, to avoid the unprintable characters caused by inc al, I used inc ax instead, since an overflow is not expected. Then I found a way to initialize AX and BX at the beginning with just printable characters.

    push 0x3234     ; h42
    pop ax          ; X
    and ax, 0x4141  ; %AA
    push ax         ; P
    pop bx          ; [

    push 0x2e21     ; h!.
    pop ax          ; X
    and ax, 0x4F4F  ; %OO
_loop:
    pusha           ; `
    int 0x10        ; <cd><10>
    popa            ; a
    inc ax          ; @
    cmp al, 101     ; <e
    jne _loop       ; u<f6>
    ret             ; <c3>

Then, I employed self modifying code to fix the unprintables in int 0x10. That instruction in the final program resides at 0x0131, which is the value in SI these 5 instructions get me:

    push 0x4375     ; huC
    pop ax          ; X
    xor ax, 0x4244  ; 5DB
    pop ax          ; P
    push si         ; ^

Then, I found the best way to get the value of 0x10cd (x86 is little endian) is to xor 0x3080 with 0x204d:

    push 0x307e   ; h~0
    pop di        ; _
    inc di        ; G
    inc di        ; G
    xor [si], di  ; 1

    ; ...

    pusha         ; `
    dw 0x204d     ; M<space>
    popa          ; a

Then, I used the same XOR value two more times, on the two final bytes in the program.

    push 0x3233     ; h32
    pop ax          ; X
    xor ax, 0x3234  ; 542
    push ax         ; P
    pop bx ; BX = 7 ; [

    xor [si+bx], di ; 18
    inc si          ; F
    xor [si+bx], di ; 18

    ; ...

    cmp al, 101     ; <e
    db 0x75 ; jnz   ; u
    dw 0x7377

First 0x7377 is xored with 0x3080 to get 0x43f7. Then 0x??43 (some garbage byte at 0x013a) ^ 0x3080 = 0x??c3, which sets the two final bytes to the correct values.

NieDzejkob

Posted 2018-02-06T18:55:24.897

Reputation: 4 630

COM file? – tsh – 2018-02-07T06:44:25.530

17

ETA, 83 bytes, safe

n = "e";
is n equh one hundre-
SNACK?! 0v0
   _   M-<
  / \_/
HA|E SNAKE!!! >:(
  T

Another one that's more ASCII art than code (though this one should be harder to crack). Outputs in ASCII codepoints.


Try it online!

ETA uses the 8 commands ETAOINSH (case-insensitive), and ignores everything else. The executing code here is:

ne
isnehonehne
SNA
HAE SNAE
T

Which means:

ne  Push 0 to the stack
is  Increment the top value (get input, where EOF is -1, and subtract)
neh  Duplicate the current value
o    Output the character
neh  Duplicate the top value
ne S   No-op (push 0 and subtract)
NA HAE Push 100
S      Subtract 100 from the current value
NAE    Push 1
T      Pop value and jump to line 1 if the value is not 0

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

4HA|E TRYING TO CRACK THIS!!! >:( – MD XF – 2018-02-11T03:49:07.410

16

MATL, 46 bytes, cracked by totallyhuman

Flatten[{1,100}] (* From x: 1 To 100: huhu% *)

I had fun trying to make this look somewhat like Mathematica, and trying to keep it fairly non-obvious. I only know two languages, so cracking it was probably not that hard.

Explanation:

F                  % Push False (0)
 l                 % ones. Stack: 0, 1
  a                % any. Stack: 0, 1
   tt              % duplicate last element twice. Stack: 0, 1, 1, 1
     e             % Reshape, last element reshaped into 1 row/column
                   % Stack: 0, 1, 1
      n            % numel of last element on stack. Stack: 0, 1, 1
 [                 % Opening bracket for creating array
  {                % Opening bracket for creating cell array
   1,100           % Push 1, 100
        }]         % Closing brackets. Stack: 0, 1, 1, 1, 100
(                  % Assignment indexing. Put a 1 in the 100th place of the variable above
                   % Stack: 0, [1, 0, ... (98 x 0) ... ,0 ,1]
 *                 % Multiply 0 by array. Stack: [0, 0, ... 0]
  F                % Push False (0). Stack: [0, 0, ... 0], 0
   r               % Push random number. Stack: [0, 0, ... 0], 0, 0.2431
    o              % Convert last number to double. Stack unaltered.
     m             % ismember. Stack: [0, 0, ... 0], 0
       x           % Delete last element on stack. Stack: [0, 0, ... 0]
        :          % Range to 0. Stack is empty.

1                 % Push 1 
  T               % Push True (1)
   o              % Convert to double. Stack: 1, 1
     100          % Push 100. Stack: 1, 1, 100
        :         % Range to 100. Stack: 1, 1, [1, 2, 3 ... 100]

huhu              % Horizontal concatenation and unique twice.
                  % Stack: [1, 2, 3 ... 100]
     % *)         % Comment to complete the Mathematica syntax comment.             

Stewie Griffin

Posted 2018-02-06T18:55:24.897

Reputation: 43 471

This is MATL. – totallyhuman – 2018-02-08T12:39:50.467

10You are taking MATL to unknown levels of expressiveness – Luis Mendo – 2018-02-08T19:22:25.177

16

???, 1167 bytes, cracked by Dennis

The Man They Called Dennis (a song).

Dennis: a extremely decent golfer.
PPCG: a group of golfers.

Act I: Chorus.
[Enter Dennis]
"Dennis;
The man they call Dennis.
He took inspiration from J and he made the lang Jelly.
Stood up to the challenges and gave 'em what for.
Our love for him now ain't hard to explain.
The Hero of PPCG: the man they call Dennis."
[Exeunt]

Act 2: Verse 1
[Enter Dennis, PPCG.]
Now Dennis saw PPCG's backs breakin';
He saw PPCG's lament.....
And he saw that challenge takin'
Every answer and leaving no votes
So he said "You can't do this to my people; You can't let long language's answers win your challenges.
And Dennis booted up TIO! - and in five seconds flat,
FGITWed, all your challenges."
[Exeunt]

Act 2: Chorus - revised, since my program is ending soon
[Enter Dennis]
"He took inspiration from J and he made the lang Jelly
Stood up to Python - and gave 'em what for
Our love for him now ain't hard to explain
The Hero of PPCG, the man they call Dennis (song slows with a dramatic high note finish)"
[Exeunt]

With thanks to Dennis for providing a character for this program, and Jayne Cobb for being the original Hero of Canton.

Honestly not sure how long this is going to last, but it was quite fun.

Rɪᴋᴇʀ

Posted 2018-02-06T18:55:24.897

Reputation: 7 410

6This is ???. – Dennis – 2018-02-14T20:44:35.653

I thought it was shakespeare – FantaC – 2018-02-15T19:54:16.380

@tfbninja it makes no sense in shakespeare and likely errors out. I haven't tested it. Shakespeare requires you to use only actual characters as well, I doubt that Dennis was part of that. :) – Rɪᴋᴇʀ – 2018-02-15T20:12:57.727

Yeah it does error out, I had just stumbled on shakespeare before and this reminded me of it. – FantaC – 2018-02-15T21:04:45.183

@tfbninja yep, that was intentional. – Rɪᴋᴇʀ – 2018-02-15T22:05:25.063

+1 for the Firefly reference. – steenbergh – 2018-06-15T07:32:21.607

15

Curry PAKCS, 57 bytes, cracked by Potato44

f[]=""
f([x]++s)=show x++" "++f s
main=putStr(f[1..100])

Looks like Haskell but it doesn't run in Haskell.

Post Rock Garf Hunter

Posted 2018-02-06T18:55:24.897

Reputation: 55 382

1@EsolangingFruit I am telling the truth when I say it's not Haskell (at least my intended solution is not). – Post Rock Garf Hunter – 2018-02-07T05:19:51.053

1@EsolangingFruit It's also not an optimal solution. I have a shorter solution but I like this one better. Happy hunting! – Post Rock Garf Hunter – 2018-02-07T05:21:17.863

3I was hoping this worked in Curry (it's a logic language and supports patterns like [x]++s), but you need to import IO to use putStr and it also doesn't seem to have .. for ranges. – Esolanging Fruit – 2018-02-07T05:28:50.113

5Cracked. This was Curry but it needs a proper curry interpreter such as PAKCS – Potato44 – 2018-02-09T07:44:27.853

@Potato44 Of course you would crack this. Good job! – Post Rock Garf Hunter – 2018-02-09T08:04:35.550

15

Whirl, 3905 bytes, cracked by Potato44

+------------------------------------------------------------+
|111111111111111111111111111111111111111111111111   $\       |
|000110011000111100011100100/010 0010 %p0-d% 0+{10000/111    |
|111000100111110001001000011 / 1111000100111110001001  frick |
|000 {01111110001(( 001111100010010000 1111110001()\ () !    |
|001111100010010000111 111000100111 1100010010000111111000100|
|111110001001(0000111)11100010011111!}000100100001111110001  |
|0011111|_0001001000011111100010011111 000100100001111110 001|
|001111100010010000111#1110001 001111100010010000111111000100|
|11111 H) /!00010010000111 1/1 100/0100111110001001000       |
| 011111100  & 01001111100010010000  111111000100111110001001|
|@  00001 11111000100111110 00100100001 111110 001001 111    |
| 1000 1001000011 11110 00100111110001001000011111100010  the|
|the 01111 100010010000111 111000 1001 111100010010 00011111 |
|1000100JO   1111100 010010000111 +=   11100010 011 11 KING  |
| 1000100100001 11111000100111110001 "0010000111111000100111 |
|110001001000011 11110 00100127  : 1111000100100 001   1     |
|11   11000100  11111000100100001111110001001111100010010000 |
|11111100 a  01001111100010  010000111111   000100111        |
| 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1|
|00 01 00 10 00 01 11 11 10 00 10 01 11 11 00 01 00 10 00 01 |
| 111 110 001 001 111 100 010 010 000 111 111 000 100 111 110|
|0010 0100 0011 1111 0001 0011 1110 0010 0100 0011 1111 0001 |
| 00111 11000 10010 00011 11110 00100 11111 00010 01000 01111|
|110001 001111 100010 010000 111111 000100 111110 001001     |
| 0000111 1110001 0011111 0001001 0000111 1110001 0011111    |
|00010010 00011111 10001001 11110001 00100001 11111000       |
| 100111110 001001000 011111100 010011111 000100100 001111110|
|0010011111 0001001000 0111111000 1001111100 0100100001      |
|                      ^1111100010^                          |
|0 111110001001000011111100010011111000100100001111110001    |
|0011111000100100001111110001001111100010010000111111000100  |
|  111110001001000011111100010011111000100100001111110001001 |
|   111100010010000111111000100111110001001000011111100010   |
| 0111110001001000011111100010011111000100100001111110001    |
|0011111000100100001111110001001111100010010000111111000100  |
|  1111100010010000111111000100111110001001000011111100010011|
|11100010010000 111111000100111110001001000011111100010011   |
|11100010010 00011111100010011111000100100001111110001001    |
|11110001+ 00100001111110' 001001111 10001001000011111100010 |
| 011111000100100001  1111100 010011  11100010010 00011      |
|1111JKL5 000100111110   0010010000   11111  1000   10011    |
|111 J 6700010010000111111^& E 00010011 L  11100 L 0 Y? bin  |
|100[print()100001111110   -001001111100010010000111]  111000|
|100 not 1111100 BRAIN010010000 FU1111 11000100CK  111110001 |
| rk:start 0010 0001111110001001 1111  0001001000011111100   |
|0100111110 dckx 001001  000011111  1000100111  11000100 help|
|100001 111110001001111100010010000111111000 1001111100010010|
|000-[111111000100??11111000100100001>1111100 {x=0-100}px    |
|111110001 00100001  11111000100111110 0010010000111111000100|
|1111 1000100100 +++001111  110001 0011111000  100100001 1111|
|100010  011111000100100001111<-1100010011111000100 10000111 |
|111 eval('\b00010011111000100100001111')-110001001--1111000-|
|1001000011]1111000100111110001001000011111100  010011111000 |
|10 +01>0000111 1  1 100 01001 1111 0001001 000011--1111  -  |
|0001001111100010010000111111000 1001111100010010000111111000|
|10011[111-0 0 01001000011 11110001001111100  010   010000111|
|111000 <100  1111100+010010 00 0.11111100010011111000100100 |
|001111110001001111100010>0100001111110001001111100010010000 |
|011000101010010101010111000000101011001]010100101010000 1010|
|111111111111111111111111111111111111111111111111111111111111|
+------------------------------------------------------------+

This is either going to be cracked really fast or not at all.

This had a lot of red herrings. Totallyhuman fell for the brainfuck one, which outputs every number except 1. Nhohnhehr has a valid 60 by 60 room, and it outputs in bits, but it outputs garbage. Brain-Flak has a few suspicious brackets etc... But Whirl is the intended language. This language only cares about 1s and 0s, and since I couldn't figure out loops, I just hardcoded adding one, printing, adding one etc., 100 times.

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

@totallyhuman How many tries have you made before the correct one? {edit: still wrong} (remember one-guess rule) – user202729 – 2018-02-09T11:21:12.490

@user202729 I tried only brainfuck. – totallyhuman – 2018-02-09T11:23:21.267

What's wrong with the output? (I'm on mobile and I don't have good testing conditions and I'm not very observant either. :P) – totallyhuman – 2018-02-09T11:25:37.517

2@totallyhuman It's missing the ascii code point for 1 – Jo King – 2018-02-09T11:26:18.390

What's the output format? – jimmy23013 – 2018-02-09T14:01:18.020

1Love this one. So many red herrings – dylnan – 2018-02-09T15:36:05.317

Is it Fortuna? I can't find an interpreter.

– dylnan – 2018-02-09T15:41:21.533

2Cracked. The mention of Fortuna reminded me of Whirl. – Potato44 – 2018-02-09T17:34:01.433

3@Potato44 Haha awww man I tried Whirl but thought it was the same output as brainfuck!!! Nice job – dylnan – 2018-02-09T17:46:16.070

13

Jolf, 7 bytes, cracked by DevelopingDeveloper

Lazy!~1

Output is numbers separated by a |.

How this works:

Lazy!~1
   y!     define a canvas (no-op)
  z  ~1   range 1..100
La        join by `|` (for building regexes)

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

I don't know what language this is but the code makes me think that it won't stop after 100. Is that the case? If so, is it allowed? – NieDzejkob – 2018-02-08T16:44:06.620

@NieDzejkob The solution is not unorthodox in any way :) – Conor O'Brien – 2018-02-08T16:55:27.790

cracked – DevelopingDeveloper – 2018-02-08T19:57:11.397

13

Whitespace, 369 bytes, cracked by Adyrem

def v(n=[]): #[	  		  	  

  #!"⠖⠔⠄⠑⠃⡆⠊⡬⠀⠞⠈⠀
 #;;;
   	 print(n*chr(33)) 		  	 	
 
for		n in range(100):	
   #
   #"	     
	#"<<;?)*aanlll>1#<-#.:_:*aa@#.#!9fo"
     	v(n)
	>d$/")!;\    
 
		 xXxxxXXXxXXxX>({.<
 xx%c++=t=+~\

   D.+L0~-tt/	  	
	..R;MU
     	]+@x+++++++++[->++++++++++<]>
	    [->+[->+>.<<]>
 [-<+>]
		<.<
]

~-<:<<<<:<||~[:?~-]|

This is a polyglot in at least 9 languages, but only one should work. Goooooood luck!

Hint:

The output format is unary


Welp. That was cracked fast.

For reference, the 9 languages were:

  • Whitespace (the intended language: outputs in unary spaces separated by tabs)
    • This was intended to be both a fake red herring and ironic, as the output would be completely invisible.
  • Python (the clue: would work up to 99 !s, but fails due to inconsistent use of tabs and spaces in indentation ;) )
  • Hexagony (prints the numbers separated by their character codes)
  • Befunge-98 (prints the 100 numbers backwards)
  • ><> (prints odd numbers starting from 10)
  • Cardinal (prints 1 through 99)
  • brainfuck (prints in unary separated by the character codes)
  • Wise (prints negative 1 through 100)
  • and Braille (prints character codes 1 through 99)

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

What's the output format? – Adyrem – 2018-02-14T12:13:03.850

@Adyrem added it – Jo King – 2018-02-14T12:18:05.387

cracked – Adyrem – 2018-02-14T12:37:40.793

1+1 almost skipped over Whitespace because I "didn't get any output" – Adyrem – 2018-02-14T13:17:05.983

12

The Powder Toy Save File, 529 bytes, cracked by tsh

Fix of my last (now deleted) answer, which I missed a part of.

00000000: 4f50 5331 5c04 9960 961c 0c00 425a 6839  OPS1\..`....BZh9
00000010: 3141 5926 5359 b855 1468 00c2 eaff f6ff  1AY&SY.U.h......
00000020: 5446 0c4a 01ef 403f 2f5f 74bf f7df f040  TF.J..@?/_t....@
00000030: 0203 0000 4050 8000 1002 0840 01bc 16a5  ....@P.....@....
00000040: 61a2 6909 18c1 4c64 4f22 7a83 4030 08c9  a.i...LdO"z.@0..
00000050: a323 6932 0c8f 536a 0d0a 34f4 a635 31aa  .#i2..Sj..4..51.
00000060: 7a4d 0c8f 5000 0006 4681 ea00 3469 e90e  zM..P...F...4i..
00000070: 1a69 8219 0d34 c8c9 8403 4d00 6134 6993  .i...4....M.a4i.
00000080: 0008 1a09 1453 4ca0 311a 7a9a 68d3 468d  .....SL.1.z.h.F.
00000090: 0003 d4c8 000d 000d 0f98 debe 75b8 487f  ............u.H.
000000a0: 2256 900d a121 2107 bb12 1208 4409 e89e  "V...!!.....D...
000000b0: ddeb 1f17 e331 5ead 7cec db16 65d5 6090  .....1^.|...e.`.
000000c0: 2422 b0ca cc2a 5585 c9c9 dc44 4ac0 f14d  $"...*U....DJ..M
000000d0: 6076 5a40 8484 536a 953b b44b 190a 90f0  `vZ@..Sj.;.K....
000000e0: 8a20 310e 95ad ca24 2d4b 0097 1a69 a919  . 1....$-K...i..
000000f0: 8d5b 0010 0242 1c59 8981 409a ec10 9024  .[...B.Y..@....$    
00000100: 2369 e1d8 a222 53dc 8231 dc4f a891 4b0b  #i..."S..1.O..K.
00000110: cf61 20d8 c1b4 4269 e25b 072d 5fb4 f1c4  .a ...Bi.[.-_...
00000120: a66b 62c8 069c ebc6 0225 9900 9852 21e9  .kb......%...R!.
00000130: d2e3 63d8 069a 7a69 124e eafc 3c5d 4028  ..c...zi.N..<]@(
00000140: dd15 6f81 0d2b 8007 816d f581 36f9 e58f  ..o..+...m..6...
00000150: 8cec 30e0 0378 40f9 b52c 4a17 b999 808d  ..0..x@..,J.....
00000160: d583 106f fd5e aaf5 ea8f a01b f5fc 9be5  ...o.^..........
00000170: 8e40 e05d 3a0a 2470 964d ef31 4c17 45da  .@.]:.$p.M.1L.E.
00000180: 3242 6692 251a aacc 6523 220c 73a7 7e3b  2Bf.%...e#".s.~;
00000190: cecf 635d 3cb6 08a0 7930 9566 0833 1d90  ..c]<...y0.f.3..
000001a0: 993a 5b8a e548 b34c 3fa8 0cbe 84aa d23e  .:[..H.L?......>
000001b0: 0129 c73b 1859 afa8 a984 990d cb0c db77  .).;.Y.........w
000001c0: 8fa8 df2f eda2 b779 72a7 4333 9382 0794  .../...yr.C3....
000001d0: 1f14 2340 c199 344a 48e1 6214 85a8 82a9  ..#@..4JH.b.....
000001e0: 5f6a 5a55 6993 6395 4350 41a2 396f 3613  _jZUi.c.CPA.9o6.
000001f0: 20f1 4d52 d289 b60f 2ea1 0040 8009 08ea   .MR.......@....
00000200: e782 4084 847f 8bb9 229c 2848 5c2a 8a34  ..@.....".(H\*.4
00000210: 00            

Download: https://hellomouse.cf/moonyuploads/golfmagic

Output format: Unary value drawn on the screen

moonheart08

Posted 2018-02-06T18:55:24.897

Reputation: 693

Can you provide a reversible xxd hexdump instead of that one please? – MD XF – 2018-02-07T02:39:27.077

sure. One moment. – moonheart08 – 2018-02-07T02:40:20.183

It seems like a save of some simulate game. But I don't know if this is a language defined by OP... – tsh – 2018-02-07T07:13:32.213

@tsh Here, we'll take this up in chat as you've figured it out. I've scanned the rules and it seems to count. – moonheart08 – 2018-02-07T13:40:22.367

OK, cracked

– tsh – 2018-02-07T13:50:08.720

12

Hexagony, 69 bytes, cracked by totallyhuman

#define ss "/}O'=){/'HI}-){"
+1<2+3
"}@"$>!'d'/1
> ss ss {<}
1/1=2-1;

Output has decimal numbers followed by f, i.e.:

1f2f3f4f5f6f7f8f9f10f11f12f13f14f15f16f17f18f19f20f21f22f23f24f25f26f27f28f29f30f31f32f33f34f35f36f37f38f39f40f41f42f43f44f45f46f47f48f49f50f51f52f53f54f55f56f57f58f59f60f61f62f63f64f65f66f67f68f69f70f71f72f73f74f75f76f77f78f79f80f81f82f83f84f85f86f87f88f89f90f91f92f93f94f95f96f97f98f99f100f

Real layout:

    # d e f i
   n e s s " /
  } O ' = ) { /
 ' H I } - ) { "
+ 1 < 2 + 3 " } @
 " $ > ! ' d ' /
  1 > s s s s {
   < } 1 / 1 =
    2 - 1 ; .

How this works (click images for larger versions):

Initialisation

In the initialisation stage, the IP passes through the #, rerouting to the same IP since the cell is 0, and grabs some junk letters before adding the two empty cells in front it (getting 0) and then changing to 1:

Main loop

After this, the IP enters the main loop. It outputs the current number with !, places a d (100) in the memory and shuffles the memory pointer around a bit, before placing an f in the memory and outputting it with ;.
Memory state 1
It then moves around a bit more before subtracting the d/100 from the current number and incrementing the result, giving -98 through 0 if the number is 1 to 99 or 1 if the number is 100. Next, the IP enters a branch.
Memory state 2

Loop re-entry

If the value of the incremented subtraction is 1, the count has reached 100 and the IP takes a weird path - we'll come back to that later. Otherwise, the IP moves the memory pointer around again before returning it to the central value and incrementing it, now pointing the opposite direction. The IP jumps over a > to re-enter the loop at the print stage.
Memory state 3

Finalising

By the time we have printed everything, we now take the second branch. The memory looks like this:
Memory state 4
The IP goes along the gold path, altering the memory a lot, and hits the < where it started and bounces back, going all the way back to #. The memory looks like this:
Memory state 5
Since 101 is 5 mod 6, the IP switches from 0 to 5, on the grey path. More memory shuffling occurs until the IP runs into the # again:
Memory state 6
Since 110 is 2 mod 6, the IP switches from 5 to 2, and immediately hits the @, terminating.

boboquack

Posted 2018-02-06T18:55:24.897

Reputation: 2 017

Cracked. – totallyhuman – 2018-02-07T14:34:51.557

@totallyhuman I'll edit when I have access to a computer. What made you think of that language? – boboquack – 2018-02-07T20:21:44.923

I did immediately rule out C and others since every line but the first look quite esoteric. The @ and /}O'=){/'HI}-){ just looked a lot like Hexagony. :P Seems that Hexagony just can't get away with that, although I don't quite know what it does. – totallyhuman – 2018-02-07T20:26:10.357

3@totallyhuman if you didn't notice I edited in how it works. – boboquack – 2018-02-08T04:26:59.370

12

C (8cc + ELVM), 34 bytes, cracked by H.PWiz

main(X){while(X++<100)putchar(X);}

This prints 100 ASCII characters.

Dennis

Posted 2018-02-06T18:55:24.897

Reputation: 196 637

516 C compilers later... +1. – MD XF – 2018-02-12T00:33:30.433

1Cracked! – H.PWiz – 2018-02-12T03:28:56.633

7For those who don't understand why this has so many upvotes (I 5 minutes ago): The normal signature of main function is main(int argc, char** argv), X takes the place of argc here. Normal C compilers take argc=1 and argv[0] is the path to the executable. – user202729 – 2018-02-12T03:58:43.017

11

Ternary, 310 bytes, safe

First safe cop!

8605981181131638734781144595329881711079549089716404558924278452713768112854113413627547471131116115809411874286965083536529893153585314407394776357097963270543699599954585373618092592593508952667137969794964363733969333908663984913514688355262631397424797028093425379100111111111111111111111021001112000120012

I'm surprised this ended up safe, considering what you see if you look at the end. I got lazy during the obfuscation :P

If you look at the end, you see a bunch of 1's, 2's, and 0's. That's base three—ternary.

Q: Do we know any languages that use ternary?

A: Ternary uses ternary.

Ternary's spec only considers programs consisting only of the given digits, but the interpreter linked to on the Esowiki page has some strange behavior:

  • Consider overlapping pairs of characters of length 2 in the code.
  • For each of these pairs:
    • If they do not form a valid instruction and are not 22, ignore them and move to the next pair.
    • If they do form a valid instruction, execute it with the semantics outlined on the wiki page, and then skip the next pair.
    • If they are 22, skip the next pair.

This means that only contiguous groups of ([01][012]|2[01])+ in the code actually have any significance.

Esolanging Fruit

Posted 2018-02-06T18:55:24.897

Reputation: 13 542

What's the output format? – MD XF – 2018-02-11T03:23:57.810

@MDXF Raw characters. – Esolanging Fruit – 2018-02-11T06:23:38.133

3Congratz on being the first answer that has lasted a full 7 days! – Jo King – 2018-02-14T04:50:57.727

@JoKing Added explanation. – Esolanging Fruit – 2018-02-14T05:30:04.773

2Oh damn. I did notice the numbers at the end, but I assumed the 2s were lazy decoration, and went looking for languages with only 1s and 0s (ahhh, i'm only just noticing all the 11s in the code) – Jo King – 2018-02-14T05:34:40.673

4@JoKing You were correct in assuming I was lazy, just underestimated how lazy. – Esolanging Fruit – 2018-02-14T05:46:58.250

1Malbolge also uses ternary. – user202729 – 2018-02-15T04:44:47.387

1@user202729 As do some versions of Intercal, I believe. The comment about Ternary using Ternary was mostly a joke about the obviousness of the title. – Esolanging Fruit – 2018-02-15T04:50:32.830

11

Lost, 189 bytes, cracked by Dom Hastings

/@<<<<<<  >>>>>>@\
v       \/       v
%       ^^       %
?      \  /      ?
>1+:455*  * -+?^:>
?v     /^^\     v?
^      \oo/      ^
^ \!/ ______ \!/ ^
^  v  \____/  v  ^
^<<<          >>>^

It's going to get cracked way too easily, but I had fun making it.

Both the bottom and the top half are pretty much useless. A much smaller program with identical output:


v%<@<<<<<<<<<<
?>^<
>1+:455**-+?^:

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

1Cracked! Thought it looked a bit like that quine! :) - Updated to the right code... Oops! – Dom Hastings – 2018-02-08T09:47:54.700

3The code looks a bit like the top view of a tank – Potato44 – 2018-02-09T08:20:02.927

11

Z80 CP/M executable, 242 bytes, safe

Reposted, this time with a specified output format.

The code contains a... few unprintable characters, so here's the reversible xxd:

00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
00000010: 0000 000a 0000 000a 0803 0000 01cd eb0f  ................
00000020: 1900 0000 5450 4c54 451e 010e 02cd 0500  ....TPLTE.......
00000030: 212a 0134 3e65 be20 f0c7 0000 0000 0000  !*.4>e. ........
00000040: c080 0000 c000 00ff 0000 c000 c0ff 00ff  ................
00000050: 0080 0000 8080 8080 0000 c000 00c0 c0c0  ................
00000060: c000 00ff 00c0 c0ff 00ff ffff c0c0 ffff  ................
00000070: 00c0 ffc0 c0ff ffff ffff 0000 ffc0 8cf4  ................
00000080: 0b00 0000 5949 4441 5408 d735 ca41 12c2  ....YIDAT..5.A..
00000090: 300c 04c1 3d4d 1283 1209 61e4 90ff ff13  0...=M....a.....
000000a0: 4315 7be8 dac3 a877 9969 5329 63d5 ddd5  C.{....w.iS)c...
000000b0: 5eaa 4535 c22f adc9 30c5 6da1 8bb9 e327  ^.E5./..0.m....'
000000c0: 7fcb a7c6 1bdc 69a6 469c c120 51d2 67f2  ......i.F.. Q.g.
000000d0: a4be c163 de13 43bb 991d 49db f900 2114  ...c..C...I...!.
000000e0: 04cf a503 d231 0000 0000 4945 4e44 ae42  .....1....IEND.B
000000f0: 6082                                     `.

Output format: raw characters.


This is a valid PNG, that when enlarged looks like this:

image representation of code

This image is at the same time a Piet program and a Brainloller program, thanks to the upper left pixel, which is valid in both languages. In Piet, the instruction pointer moves between regions of pixels of the same color, and the differences in the color between regions encode instructions. This means that in Piet, you can start from any color. In Brainloller, it's just the colors of the pixels that are used to encode instructions. Therefore, I chose to start from cyan, which rotates the instruction pointer clockwise in Brainloller, making this polyglot trivial.

As you now know, both of these graphical programs were traps - I hoped at least one robber would state them as their guess, making it less likely that this answer will get cracked. Piet prints numbers 1 through 100, but as decimal integers, not as the raw characters specified. When I first posted this, I forgot to specify this, making it trivial. On the other hand, Brainloller starts at two. Since these are raw characters, I was hoping that someone wouldn't notice. As H.PWiz said, this should not be interpreted as a PNG.

First, I wrote the programs in Piet and Brainloller, as well as the CP/M program, which looks like this:

loop:
    ld e, 1         ; system call: output a character
    ld c, 2
    call 5
    ld hl, loop + 1 ; increment the immediate byte of the first instruction
    inc (hl)
    ld a, 101       ; if it's not 101 yet, loop
    cp a, (hl)
    jr nz, loop
    rst 0           ; otherwise, exit

Then, I looked at various image formats, and I've found PNG to be the easiest to work with. A PNG consists of a magic number and a sequence of blocks. The program you see above resides in the palette block. At first I wanted to just place the palette block first, to make it easier for the execution to slide through all that nonsense, but the IHDR block has to be first. As it turns out, the image header of a 10x10 indexed PNG does not contain any instructions that write to memory or change control flow... until the CRC of the IHDR block. However, I remembered that the byte 0x01 is a 16-bit load immediate, which could help. The last byte before the CRC was an interlaced flag, so I flipped it, looked at the new checksum and concluded that this will work.

I was trying many different tools to insert the program into the palette. I found in the specification, that the palette block was designed by a sane person, which means that it just lists all the colors, with one byte per channel, R G B R G B R G B. I was starting to dig through the documentation of the Python Imaging Library, when I realised that it should be possible to do this with the GUI of GIMP.

I lied about the load address to the assembler program to get it the addresses embedded in it right. I grouped the bytes of the program in groups of three to get 6 color codes. In GIMP, I converted the image to indexed, created a read-write copy of its palette, converted it back to RGB, added the 6 new colors one by one then painstakingly copied all the colors at the beginning of the palette to the end and deleted the originals, because in GIMP you can't just move the colors. At the end, I converted the image to indexed again with a set palette, and after marking a few checkboxes to prevent GIMP from removing unused colors, I was done.


To test this on an emulator:

  • Download z80pack
  • Extract the tarball

    ~/tmp/z80$ tar xf z80pack-1.36.tgz
    
  • Compile the emulator

    ~/tmp/z80$ cd z80pack-1.36/cpmsim/srcsim
    ~/tmp/z80/z80pack-1.36/cpmsim/srcsim$ make -f Makefile.linux
    [...]
    
  • Compile the support tools

    ~/tmp/z80/z80pack-1.36/cpmsim/srcsim$ cd ../srctools
    ~/tmp/z80/z80pack-1.36/cpmsim/srctools$ make
    [...]
    
  • Fire up CP/M

    ~/tmp/z80/z80pack-1.36/cpmsim/srctools$ cd ..
    ~/tmp/z80/z80pack-1.36/cpmsim$ ./cpm13
    
    #######  #####    ###            #####    ###   #     #
         #  #     #  #   #          #     #    #    ##   ##
        #   #     # #     #         #          #    # # # #
       #     #####  #     #  #####   #####     #    #  #  #
      #     #     # #     #               #    #    #     #
     #      #     #  #   #          #     #    #    #     #
    #######  #####    ###            #####    ###   #     #
    
    Release 1.36, Copyright (C) 1987-2017 by Udo Munk
    
    CPU speed is unlimited
    
    Booting...
    
    63K CP/M VERS. 1.3 (8080 CBIOS V1.0 FOR Z80SIM, COPYRIGHT 2014 BY UDO MUNK)
    
    A>
    
  • Copy the xxd above, and in another window, convert it back to a binary file

    ~/tmp/z80/z80pack-1.36/cpmsim/srctools$ xclip -o | xxd -r > tplq.bin
    
  • Now comes the hacky clever part. This is the only way I could find to transfer the file to the emulated machine. First, convert it to an Intel HEX file. Because of how the receiving program works, you need to specify the load address. If you don't, it's going to overwrite some very important memory, and when saving the file, the first 256 bytes won't be written:

    ~/tmp/z80/z80pack-1.36/cpmsim/srctools$ ./bin2hex -o 256 tplq.bin tplq.hex
    Input file size=242
    Output file size=592
    
  • Fire up the CP/M transfer program

    A>load tplq.com
    
    SOURCE IS READER
    
  • Send the hex file to the emulator

    ~/tmp/z80/z80pack-1.36/cpmsim/srctools$ ./send tplq.hex
    
  • You'll see that LOAD terminated:

    FIRST ADDRESS 0100
    LAST  ADDRESS 01F1
    BYTES READ    00F2
    RECORDS WRITTEN 02
    
    
    A>
    
  • You can now run the program:

    A>tplq
    
    
    
    123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd
    A>
    
  • To exit, run BYE:

    A>bye
    
    INT disabled and HALT Op-Code reached at 0101
    ~/tmp/z80/z80pack-1.36/cpmsim$
    

NieDzejkob

Posted 2018-02-06T18:55:24.897

Reputation: 4 630

I tried Brainloller, but got 2..100

– H.PWiz – 2018-02-11T15:49:56.537

@H.PWiz intended – NieDzejkob – 2018-02-11T15:51:45.130

Nice. I'm starting to wonder if it should even be interpreted as a png – H.PWiz – 2018-02-11T15:52:53.743

@H.PWiz As you've guessed, no. – NieDzejkob – 2018-02-18T18:30:15.073

10

Befunge-96, 25 bytes, safe

#<h2%fZ<[[+!/8]]!><[8!,]>

Try it online!

Surprise! Like a horror movie with a bad twist, the murderer was Befunge's deformed older brother all along!

The biggest trick of this code is the h instruction, which I found through James Holderness' answer here. h sets the Holistic Delta, which changes the value of the instructions encountered before executing them.

Explanation

#< Skip over the <
  h Set the holistic delta to 0 (doesn't change anything)
   2%fZ Does nothing
   2%fZ< Goes left and adds a 2 to the stack
  h Sets the holistic delta to +2

Now (to the pointer) the code looks like:

%>j4'h\>]]-#1:__#@>]:#._@

Going left at the j

>j4'h\>  Pushes 104, 4 to the stack
      >-#1:_ Initially subtracts 4 from 104 to get 100
             Then repeatedly dupe, decrement and dupe again until the value is 0
            _ Pop the excess 0
             #@> Skip the terminating @ and enter the loop
               > :#._@ Print the number until the stack is empty

The hardest part of this was figuring out which aspects of -96 are inherited from -93, which are precursors to -98, and which aren't. For example ] (Turn Right) is in -98, but isn't in -96, while the ' (Fetch Character) is. Thankfully, this version does not bounce off unknown instructions.

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

9

BrainCurses, 12 bytes, cracked by Rlyeh

' !'d[:-%_%]

Hmmmmmm :)

Output is space-separated (with a trailing space).

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

The syntax looks like if someone mixed Japt and Python... – RedClover – 2018-02-07T21:07:43.227

This is forobj, but I can't find an interpreter anywhere. Do you have one?

– MD XF – 2018-02-08T17:23:13.543

@MDXF This is not forobj, actually. Unless you can provide the interpreter, of course. – Conor O'Brien – 2018-02-08T17:30:19.537

Huh that's odd, it really seemed like it was – MD XF – 2018-02-08T18:27:51.670

@MDXF Note that if it works in that language, it could be cracked. – mbomb007 – 2018-02-08T23:04:39.357

@mbomb007 The language spec was too confusing to be sure and it's unimplemented, so I'm not going to pursue it. – MD XF – 2018-02-08T23:06:31.620

Is the language BrainCurses? – Rlyeh – 2018-02-10T20:09:29.273

@Rlyeh Yes, it is! – Conor O'Brien – 2018-02-11T02:39:38.193

@Rlyeh Time to post your crack answer. (And if it's posted, time for Conor to update this!) – Fund Monica's Lawsuit – 2018-02-11T06:18:39.153

Cracked – Rlyeh – 2018-02-11T07:10:03.610

9

Z80 (anagol-flavored), 47 bytes, safe

main;;<o,,,,,,,,,,,,,,,,,,,,,,,,,,,)))))))))0;v

Outputs bytes from 1 to 100. I'm not entirely sure this satisfies the requirements for a language in the OP, but it sort of technically does.

Post-reveal clarification: The Z80 chip has a Wikipedia article, its machine language is certainly a programming language, and an interpreter for the Z80 machine used is freely available on golf.shinh.org; Z80 is often used for code golf there.

The machine is very simple: 64k of memory + all registers are zeroed; code is placed at $0000 and execution starts there. A putchar routine is executed when the PC reaches $8000. (There is also getchar, but it's irrelevant here.)

The iffy part, of course, is that this "putchar at $8000" behavior isn't inherent to the chip and isn't itself defined by Wikipedia/Esolangs/Rosetta. You could see it as an "interpreter quirk"... but that's maybe a stretch. I'll leave the decision to the OP.

Here is the program disassembly:

  ld l,l                  ; Red herring. ('main')
  ld h,c                  ; Well, the whole program being printable ASCII is a red herring.
  ld l,c                  ; Arguably, clearing H is the "right thing to do", but it turns
  ld l,(hl)               ; out not to have been necessary.

  dec sp                  ; "Push a zero" (make SP point at $fffe, which is zeroed out)
  dec sp

  inc a                   ; Increment A, the argument to putchar.

  ld l,a                  ; Compute (A + 27) << 9.
  inc l      (27 times)
  add hl,hl  (9 times)

  jr nc, $0069            ; Halt if carry is set. This occurs when A = 101.
  halt                    ; Otherwise, run from $0069 to $7fff (all NOP).
                          ; Finally, putchar(A) and return to $0000 (which we pushed).

Try it online: click "use form", pick z80 from the dropdown menu, paste in my code, and Submit!

submitting my code

I expected this to get cracked fairly quickly, but now I feel a little bad. I had fun writing a Z80 program constrained to printable ASCII code, though.

EDIT 2018-02-23: I described the Z80golf machine on esolangs.

Lynn

Posted 2018-02-06T18:55:24.897

Reputation: 55 648

9

Ethereum VM, 170 bytes, safe

The hex-encoded program is:

00000000: 6073 6068 5234 1560 0e57 6000 80fd 5b60  `s`hR4.`.W`...[`
00000010: 0180 9050 5b60 6581 60ff 1614 1515 6067  ...P[`e.`.....`g
00000020: 577f 6375 726c 2068 7474 7073 3a2f 2f68  W.curl https://h
00000030: 656c 6c6f 6d6f 7573 652e 6366 2f63 677c  ellomouse.cf/cg|
00000040: 7368 8180 6001 0192 5060 4051 8082 60ff  sh..`...P`@Q..`.
00000050: 1660 ff16 8152 6020 0191 5050 6040 5180  .`...R` ..PP`@Q.
00000060: 9103 90a1 6014 565b 5060 3580 6075 6000  ....`.V[P`5.`u`.
00000070: 3960 00f3 0060 6060 4052 6000 80fd 00a1  9`...```@R`.....
00000080: 6562 7a7a 7230 5820 114d ddac fde1 05a1  ebzzr0X .M......
00000090: 3134 c615 32a1 3859 c583 7366 dba7 a339  14..2.8Y..sf...9
000000a0: 1187 d2ac ab19 9224 0029                 .......$.)

Its in the blockchain!

The program emits one event per number, using a string designed to confuse that looks like a command as topic, and the number as data.

iovoid

Posted 2018-02-06T18:55:24.897

Reputation: 411

Can you post a reversible xxd instead of just the hex? – MD XF – 2018-02-09T05:05:17.683

1

@MDXF That is a reversible xxd. You just need the -ps flag.

– Dennis – 2018-02-09T05:10:02.740

I see a URL in there, does this code download stuff from the internet? If so I believe this violates one of out Standard Loopholes – Potato44 – 2018-02-11T00:58:38.493

3@Potato44 it does not download and/or run code from the internet. – iovoid – 2018-02-11T03:06:19.083

@Potato44 Actually the URL content is 'Nope.' and a trailing newline. – user202729 – 2018-02-15T05:30:15.053

@user202729 it contained some characters that look like code earlier. / This is now safe. You should reveal the language. – NieDzejkob – 2018-02-16T18:35:19.470

8

pb, 21 bytes, cracked by MD XF

w[T!100]{t[T+1]b[T]>}

Output in raw chars 0x01-0x64.

Erik the Outgolfer

Posted 2018-02-06T18:55:24.897

Reputation: 38 134

Cracked! – MD XF – 2018-02-08T17:05:39.267

@MDXF added link to crack – Erik the Outgolfer – 2018-02-08T18:15:57.003

8

???, 145 bytes, cracked by Dennis

!!!

......";........-,'";'";.;;.---,'"....'"-........;,'".........'";.!--!;,'".........'";;;.--,,,,,,,,,,;..........";!--.!--!;;;,'"--,";,,,,,,,,!,!!

Outputs the numbers cleanly in one line.

Unihedron

Posted 2018-02-06T18:55:24.897

Reputation: 1 115

Cracked. This is ???. – Dennis – 2018-02-07T02:58:26.530

Very good! This was undeniably a softball, but that speed is impressive. – Unihedron – 2018-02-07T03:03:05.833

2

Well, I know the language. ;)

– Dennis – 2018-02-07T03:10:29.080

It wasn't really obfuscated, either. – mbomb007 – 2018-02-08T23:05:13.483

8

2B, 38 bytes, safe

+9+1::{-1^1+9+1v1**}^1: :{-1v1+1)^1* *

Output is raw chars.

Erik the Outgolfer

Posted 2018-02-06T18:55:24.897

Reputation: 38 134

If the interpreter is in VB.NET, can it be really considered free as in beer? – NieDzejkob – 2018-02-14T17:27:43.307

@NieDzejkob Sure, I have tested this submission without paying for anything (not paying for VB either). – Erik the Outgolfer – 2018-02-14T17:30:42.027

8

Glass, 212 bytes, safe

{     (M)        [
    m     v   A
   ! o   O   !
  <     0   >
 m     <   1
>  =/m<     1>  v
 a.    ?0o
 (on)      .
         ? "
           ,
           "
         o  o.
?0<100>v
(ne).?m 1=  ,
\
          \^]}

Glass is a stack-based, object oriented esolang that was previously featured on Esolangs. I intended to make this look like a 2D language. If we strip out extraneous whitespace in this submission, we get this:

{(M)[mvA!oO!<0>m<1>=/m<1>va.?0o(on).?"
                ,
                "oo.?0<100>v(ne).?m1=,\^]}
Glass begins executing from the m (main) method of the class M (Main). Because of Glass's syntax, this would be written as {M[m 'Method body']}. In order to avoid this being too recognizable as Glass, I wrapped the M in parentheses (which are mandatory for multi-character names).

Esolanging Fruit

Posted 2018-02-06T18:55:24.897

Reputation: 13 542

Not ><>, Gol><>, Befunge-93 or 98, Prelude, Whitespace, CJam, Golfscript, Brain-Flak or Pain-Flak... – NieDzejkob – 2018-02-14T16:03:07.457

@MDXF Edited. This was Glass. – Esolanging Fruit – 2018-02-15T01:36:43.760

Geez on a roll! – FantaC – 2018-02-15T19:52:43.387

@tfbninja I had a list of languages I wanted to use beforehand, so I was able to write and post a bunch of submissions quickly... – Esolanging Fruit – 2018-02-15T21:29:44.600

8

brainfuck, 6348 bytes, cracked by MD XF

      +     .  :     +   .        +       .         +     .    v      +           .           +     .            +   .    ^         +  
 .              +   .               +     .                +   .                 +   .        ;          +   .               
    +   .                    +           .                     +         .                      +     .   "           "         +   .    
                    +     .                         +   .                          +     .                           +  
 .                            +       .             @                +   .                              +     .                           
    +         .                                +   .               (       "           +   .                               
   +   .          )                         +   .                                    +   .                                     +   .      
                                +           .                                       +   .                                    
    +   .                                         +   .               ;                           +     .                           (      
          +         .    )                                       +   .                   
                          +     .                                              +   .                                )               +   
  .                   |                             +   .                                                 +   .          
                                        +   .                                                   +   .                                      
              +     .                                                     +   .  ^                                   
          (       +         .                                                       +       .                                         
               +     .                              "                           +       .                                        
                  +   .           :                               :                 +   .                                            
                +       .                (                                             +     .       
                                                ^       +       .                                                               +  
 .                                              |                 +   .                                             (                
    +     .                                    ^|^                              +   .                                                       
            +   .                              |||                     )                 +   .                                 
                                    +     .    AAA                                                                  +     .             
                                               VVV           +       .         "                                                     
          +       .                                                      "                   +     .                                                           
               +     .                          ;                                                 +   .   
                                                                         +     .                                                   
                          +   .                 )                                                             +         .         
                                    )                        1         +   .                          (                                 
                     +       .                                              (                                   +     .            
                                                                      +     .                                                     
 ^                             +     .                                                                 ;                   +     .     
                                                                                +         .    ;                                         
                                         +   .                                                         )                      
        +             .                                                                                        +     .                  
                          "                                             +         .                                          
                                                +   .                                                                                      
     +     .                   ^                                                                         +       .            
                                                                                 +     .                                                      
                                        +   .                                                                              
                 +   .                       ;                                                    ^                     +     .                   
                                                                              +     .                                 
                                                     (            +   .                        )                                     
                                      +     .                                                                                        
            +     .    "                                                                                          d       +   .             
                  )                                                                       +     .             )               
                                                                           +         .                                    )              
                                                      +   .                          )                                          
     (           "                     +       .

Quite an easy/long one, but pretty. You even get to see the rocket move up the screen as you scroll down.

Output is raw.

MickyT

Posted 2018-02-06T18:55:24.897

Reputation: 11 735

2

This is Starry

– Jo King – 2018-02-12T02:38:19.277

4It looks very nice on TIO. – Steadybox – 2018-02-12T02:49:06.130

3@joking sorry it's not. Duplicate : and & – MickyT – 2018-02-12T02:53:08.373

4This is Brainfuck. – MD XF – 2018-02-12T03:08:59.063

@MDXF damn I forgot to disable that. Got to involved in making it look nice. – MickyT – 2018-02-12T04:08:41.807

Forgot to disable Brainfuck? What was the intended language? – MD XF – 2018-02-12T04:30:22.773

@MDXF OneFuck was intended.

– MickyT – 2018-02-12T04:31:48.293

8

05AB1E, 5170 bytes, cracked by H.PWiz

2̵̨̛̆̈̈́̂ͦͣ̅̐͐ͪͬͤͨ̊̊ͭ̑͛̋͏̠̰̦̥̼̟̟̀3̶̵̨̥̜̼̳̞̺̲̹̦͈̻̫͇̯̬̮͖̔̅ͮͭͨͧ̾͑ͣ̑̑̃̄̚͝5̸̸̧͖̼͚̩ͧͦ͋ͭ̐ͤͣ̄̆ͦ2̶̢̻͕̼̹̟̦̮̮͇͕̥̱͙͙̻͔̫̞̈̓̿̎ͦ͑ͩ͐̔̿̓͟͠A̴̺͍̮̠̤̫̙̜̹͎͒͂̌ͣ̊ͤͨ͂͒ͣ̉͌̄ͭ̑͟͠͡͝à̄̍̿̎ͯ̑̀̃̂ͣ̆̂̓̂ͬ̉̉͝҉̹̠̤̻s̏̓̓̃ͮ̌͋̅̎҉͈̝̩̻͡a̵̛̬̩̙͈͍̙͇͖͈͔̝̘̼̤͚ͨͣ̍̇̐ͧͥ̅̊ͥͅs̷̡̝̰̟̲͚̱̦͓͙̖̅̊̉̒̀͡A̢̛͓̜͇̻̦̮̭̣̮̱͎͒ͪ̿̇̓ͫ̍ͯ̀R̵̴̴̸̹̰̪͎̹̗̹̟̱̘͊̋̎̋̅ͫͬ͐̐͌A̸̧̝͍͍͔̣̮̾̓ͣ̓̍́ͬ͝g̨͕̣͎͕̳̟̱̭̲ͭ͛̎͆̔̃́8̶̬͓̱ͧ̄͌́̉́̀͜6̢̡͈̭̟̳̮̦̞͖̘͍̗ͩ̑̎̄̑ͮ̊̉ͯ̓̽͝8̾ͪ̉͊̑͏̤̩͈̤̣͙̭̟̳̮͎̣͈͖̖͕͕̫͠͠5̶̳̲̹̳̣̪͈̝̝̯̩̲̰̭̘̭̗ͮ́ͯ̐ͧ͑͛̇̂ͩ̓ͫͦ̔̽͐ͯ̅ͦ̕͠͠͡6̴̪͇̣͙̦͖̝̠̤̻̩̰̣͉̰̯̟͕ͯͩͮ̋̒̍ͦ̎̇ͦͮͣ̉̃͗8̷ͨͬͫ̌̀̅͊͐̇͐̚͝҉̰͔̫̤̱̦̯̟̼̝̼̣̀͡6̸̫͔̜̾̓̒̚ͅ7̀ͮ̄̊ͧ͐͗͑̾̊ͨ̚̕͞҉̣̮͙̝͔̻̯̫̥͔8̶̮̭̭̪̯͖̯̭͖̆ͣ̊ͩ̊ͨͧ͗̋̐ͧͫ̅́͘ͅ
̨̛̝̬̠̯̗͓̦ͦ̀͂̐͛̆ͬ̏̀ͣͭ͊̒͌͝3̶̧̡͇̤̩̘̦͍̜ͦͣ̋̚5̶̴̨̥̩̭̩̰̀̌̽͒̃̋ͭ́͛͠1͕̺̺̩͖̾̃̾̈̑͂ͣ̉́́́̚2͇̻͙̖̮̖̩͓͚̣̞̯̦̱̤̝͍̩̔ͪͦ̾͆͐͐͒͗ͧͦ̿͗́̓͜ͅ5ͣ̒͂̆ͦͥ̑̕҉҉̜͈̮̳̟̺̤̥̰̹̮̺̣̻̞͕̟1̢̛̃̉̔̽̊ͣͮ͋ͪ͗̆ͪͦ̐̇͑ͧ̚͘҉̛̫͕̙͕2̸̣̫̳͍͎̼̤͚̱̲͓͌̀͗̈́̓̈́̂̄ͪ̉̄̄̉̋͗ͩ̅̆͢͞͝4̴̢̺͙̺̞͕̻̥͍͆̿̄̐͒͗̈́ͫ̑ͫ̇͐͠͠ͅ2̸̛͕̩͕ͣͫ̒́6̴̵̢̘̫̟͖͙̲̲̮̣̘͈͉͖͓̮͖̊́ͬ̆̎͒ͩ̏ͨͥͧ̿̆̄͐́̏T̛͕̟̫̮̊̇̾ͦ̋̋̎̆̄͗̕͝n̴̡̤̞̣̦̱̻̰̟̻͈͈̠͇̣ͮͭ̐̎ͭ͋͛͌ͩ͡L̎ͮ̐͑ͫ̃ͪ̌͆̂̂ͯ̕̕͏̢̢͚̥̰̹̫͍̠̼̩̟̲,̨̨̘̱͚̗̖̺͓̘̼͍̘͚̹ͫ̂̏̈́ͥͬͥ̃̅͐̐͞q̨͍͕̠͍͖͇̠͉̮̭̦̜̣̼̜̩̠̓̊̀̈́̊͆̀̎̌͋̅̐͊͘͘͟͡ͅe̵̶̡̛͎̱͕͉̞̳͗ͭ̇ͪ͋̓̚͡r̨͚̘̖̝̫̳͂̈́ͣ͂ͧ͒̎ͧ̍͆̏ͪ̓ͥ̇̾̏͘ļ̴̴̝͉̪͎̊͂̾̑ͬ̐͡2̷ͯ̓̓͂̈͠҉̦̤̹̻͚̠̘̘͓̫̤͚̣̬̙͉͙̜3̸̮̝̮̰̘̰̇̿ͫͪ̑̈́ͦ̇̿̏̿ͥ͞͡5̶̲͔̣̞͚͇͒ͨ̂ͪ́̓̐̅͊͋̎͋̅́ͨ̿͟͞jͯ͂͋̉ͯͣ̃͊ͫ̋͊̊ͪͭ͏̸͠҉̝̣̬̥̻͉̖̮̫̘̤͕̭ͅģ̵͖̯̠͉̟̬̗͎͈͍̪̙̲̙͓̳͂͑̏̉͐͊ͩ̽͗̍͜͡ͅr̴̵̡̓̓̂̕͏̰̟̩̪g̶̡̢̠̲̱͚̋͊͆̂̔̑̕͜
̂͐ͥ̇҉̬͇̥̪͝ͅ2̴̸̷̞͕̦͚̪̩̺͇̭͖̪̫ͮ̈̃ͭ̓̾̓͂͑͊ͭ́̔̍ͭ3̶̸̼̤̩̣̤̆ͤ͊̂͆͘ͅ4̋̐̍̅̐̓͂̽͊ͥ̒͆ͮ̌ͫͧ͘͟͡͠͏̠̬͚̬͕̤͇̤̣͖͇̠̰͚͙̘͎͕̥6̓̄ͥ̂ͦ̽͌͋̍̓̄̈́͑̋̎ͧ͂͘͜͝͠҉͕̼͕̮͔3͎̤͖̦̟̱̟͍̺̞̜̞̳̳̯̾͛̓̇̾̒ͫͮ͌ͩ̄̓̔̔̓ͯ̐̀̀́͘͠2̷̡̰͚͙͙̤͎̺̜̳͍̩̋̍ͫ̔ͦ̉́̎ͣ͒̈͑̽́͢͞ͅͅ6̨̯͇̼͚͇͉͈̼̩̮͍̣̖ͭ̎ͯ͑̓͆͋͑ͅ3̳͉̥̰̖͓͇̞̩̳̩͙̜͇̗̼͖ͩ͑ͫ͛͊̋̈͌̋ͯ̔͛̀͛͟͞ͅ2̆̃ͥ̓ͪ̍ͯͨ͜͝͝͏̗͍͚͕͔̝̟͚̦6̭̤͕̰̙̼͌̎̇̓̽ͤ͌ͫ̀͠ḫ̷̢͔̪͈̠͖̪̹̮̣̩͊̽̿ͭ͋̂̊̂͝e̶͕͔͍̙̟̟̱̤͓̯̪̮̠͉̖ͧͩ̋̂ͤͦͭ̽̎͗̅͊̅̽̅̀͜͞r͊̀̍ͨ̀̍̓ͤ͗ͨ̊̅͊̿̚҉̴̪͖̝̙̭̖̹͔̻̦̖̳͔5͚̻͕̪͓̹̼̎ͥ̍̈̓̇ͬ̊ͧ̏̾͑̚͘͝2̶̸̖͙̟͉̜̤͔̦͍̖͖̝͖̳̝ͦͬ̅͒ͭ͆͊́3̴̻̺̮̞̖͛̌̇ͨ̆͒̊͛ͯ͐̇6̭͙͇͇̘̭̫͖̣̲̬͕͔̜̰̽̒ͮ͑̒ͩͨ̎̒̃͛ͦͥͭ̏̇́ͅ5̴̷̙̠̙̝̭̼̥̝̼̞͉̱̟̰̠̖͚͓̑͂̿͗͑ͭͬ̒ͣ̅̓̏ͥ̅̚͜ͅ2̷̾͛̈́ͯͭ̿̏̇̒͛ͧ̀͝҉̡̯̦̜͔̱̰͓͍̲̣̳3̢̡̈́͆ͯ̚͢͜͏̖͓͖̥̻̗̭͉̤̗̗2̸̸̨͎͉̥͚̜̗̩̰̮͙̟̳ͥ̑̉̊ͤͧ͑̊̕2̃͊̓͒̂͐̏ͭ͑̅͂͂ͤ̚҉͙͈̞͖̪͓̹̰͕̹̮̰̼͎̦̪͜2̸̿͆͊́̔́҉̧̙͇͚͍̗̝̤͚̝̻̣͉̳̹͟2̡̛̗͖̟͔̳̹̭͇͕̼͉͓̙̑̌̆͑̔̒̎
̇̈́ͯͫͫ͐̎͒͆̎̌͐̾ͧ̈́͐ͭ̆҉̬̯̳̮͖͚̭̼̱̳̪͉̥̪̞̱̘̹̖̀3̢̡̡̟̰͙͉̪̰̱̱͕̟̼͚̟̭͉͔̌ͭ͗ͨͮ̀̂́͂ͯ̔̿̈̉͜͜4̴̢͚̫͉ͥͭ͛̿́̽͛̄͐͝6̡̾͐̿̄͌̒́͜҉̶̯̩̟̼̯̰̙̝̟͕̬̳̳͖̹̱2̨̤̝̮̞̺̟̪̠̱̺̱̠̹͉͍̺̩̈ͯͬ͘͟͜ͅ3͗ͨ̅̋̆͆͌̾ͪͪ͛͆̐ͣ҉́҉̱̖̫͍̣̤̬̱̬̠̫̠̻͔̞̰6̶̢̖͕̻̾̅̔ͧͧ̇̑͗̂͊̿̓̐̍̂ͪͪ͟3̈ͨͤ͐̅̏̋ͬ̄͊̅̀ͦͭ̇ͤͩ̇̈҉͓͚̮̲̣͕͙̣͙̮̖̫̟4̵̧͙̠̱̟͐͗ͦ̓̍̎̾̈̽̆̈̈ͥ̾͗ͫ̐͠2̴͕̳̗͈̟̲͖̝̙̼̭̲̳̹̬̈́̎͂̅̆͌̇ͣ̑̏͜͞6̋͋̀͛̓ͭ̿̊͂̍ͤ̃̎̓̃̌̏҉͎̰̬̟̲͙̼̪̯͍͕̭̦4̸̢͔̱͔̖̝̪̙̼̻͍̗̟̳͔̱͑̈͒ͤͬͅ2͖̯̫̂́ͧ͆͛̄̆ͦͨͧ̅͘͢ͅ3͚̟̱̖̖̯̳̰͎͓͍̮̝͍͊͗̒́̀͞4̨̨͓͔̲̝͎̣͇̲̹ͨͨͯ͂̈ͤ̈́̈́̇̈́̀͟͠6̡̛͍̤̩͖̰̙͇͖̀̇͐̊̆̽̏̍͢͢gͨͩ̆ͮ̈ͩ̍ͩ̑̀̎̌ͭ͏̵̝̯͎̜̭̟s͉̥̥̣̗͍̭̩͍̮͉͓̲͕͍̱̗̮̟ͩ̑͋̓̂ͭͤ̉̕͞ť͍̩͚̹̠̥̥̳̩̻̦̬̤͓̞͓̄̄͒ͫ̀̽́̎ͥ̍̌̚͘͡3̷̬̝̘͍͊ͯ̈́ͮ̀̋̓ͩͧ͂̆͐̂ͤ̓ͮ̚̕͜6̷̘̖̻̤̟̗̦̼͎͕̳̥̫̘̲̥́̄̊ͪ͂̈́͐͛̓́̚̕4̶̷̛͕͇͎̲̺̤̯͈̱̹͉̮̭̳̗̤ͣ̏ͣ̾̀͠3͖̟̳͓̲͓̫̝̗̟̮̺̮̭͈̿ͬͫͣ͐̾͗ͧ̓̌̅͛́͘͟͡2̛̹͓̫̫̮̺̙̟͙̳̤̺̠̞̩̠̞͙ͩͪ̀ͬͪ͌͗̽ͣ̈́͜ͅ6̴̳̪̩͉̳͓̞̘̙̦̏ͭ̃͊ͭ͑̀̚
̵̙̝̘̝̲̳͖̣̝͕̥͍̥͖̗̹͉̎̽ͥ̑̾̎͢ͅḧ̶̵͇̭͍̠̣̗͖͍̜͕̰̘̰̑̃̀͒̈́ͤ̏̓ͩͬ̐͐̑̽ͯ̚̕͠͠4̫̬̦̜͕̺̱̖̼͋̄ͨ̾̔ͤ̓͊̐ͧ̔ͤ̎̄̀̏́͢ͅe̶̡ͯ̓ͮͤ̏ͦͬ͗̈́̽ͯ̌̽͌͆͊ͭ҉̡̝̺̜̝̗̗5̢̳͔̯͍̰̗̻͖͎̜͕̺̙͙͙̬͂͐̽͗͝ͅẆ̵̤̣̠͉̩̳̗͈̆̃̀̈́̋́̉̒ͯͭͥ͒̀ͭͦ́̓͗͘ͅR̴̍ͩ̓ͮ́̿ͨ̇̊̾̃̄̌̍͞҉̖̻̹̙̯́D̸̨̛̝̹̮͇̣̿ͧ͌̍̚ͅ3̨̛̛̫̫̣̝͈͔̰̖͕̮͉͔͖̈́ͨ̉̌̇́̃̍ͧ̈̈͐ͨ͛̚2͎̟̱̪̖͈͕͔͓̘͉̙̍̃̓ͪͦ͋͆̃̈̄̂̄ͦͥ̍̏̃̀͢͢͟5̸̶͛̀̿̄ͦ͊̏҉̷̼͇͍͚̘̺̱̜̤̻̞̲̜̰͙͔yͨ͐̍ͪ̑̀̾̌̊ͤ̿͗̄͑͐̑͌͋̽̕͏̰͔̮͈̦̤̫̗̫̯w̵̧̗̣̙̠̬̺̩͚̬̎́ͭ̃͛̈́2̴͚̫̮͍̼̠̺̠͕̬̳̮͕̱̟̙̘̹̑ͮͧ͗̓̎́́ͯ̓̐̉ͮͫͪ͢2̥̯͚̼͉̦͙ͧ͌͛̒̃ͯͭͥ͋̚̕̕͜͡ͅ2͇̖̭͆̒ͪ̾̎ͥͣ̂ͨͩ͋͒ͪ͊́̚͠͠2̑͗ͬ̃͆͂̓͗̏ͯ͟҉̴͘҉̳̭̗̘̤̝ͅ3̴̵̲̗̘̹̠̰̳͙̮͙̍̉̓ͦ̐ͧ̾̍̚̚̚̕ͅ4̨̲̜̱̦͓̝͍̳͕̩͌̔ͪ̾͗̉̇͗͐͛͆̀ͅͅ2̵̱̦̬̜͓̻̥̲͓̀͐ͫ͟͝6͔̮̣̮ͩͨ̀ͭͯ̏ͣ͂͡5̷͕̠̭̜͕͙̦̘̦̱̖̬ͤ̌ͫ̈̅͒̇ͯ͢
̸̵̵̡̛͓̻̗̖̻̗̼̤̰̂͛̆͌͗ͯͭ̂ͥ̈̂ͤͪ͐3̤̘̫͉̘̗̜̲̝͇̙̫̯̲̥͙̦͐̈̇̏͊̓̇̈́ͫ́͘͡ͅ2̛̣͓̪̖͔̺͍̝̫̳̱͊ͦ̿ͨ͌̀6̗̪̠̻̤̤͓̜̫͈͓̐͂̎͗̆͗̂͋͋̊̈́̃́3̰͈̠͚̙͉̲̗̭̤̝͇̩͔͖̦͓̹̯̉̊ͩͧ͐̃ͦ̾̀͘͟͢2̵̧̡̧̻̟̰̻̰̪͔͔̲̮͚̝̖̹̣̞̠̍̿̄͆͌́ͤ̀̅6̴̜̩̝̯͌͊̿ͫ̆̕͘5̵̡͓͍̬͔̒̍ͩ̅̎̍ͩ̉̈́ͫ͐͊̓̄͊̒͠͞ụ̡̜̥͙̗̻̺̤͇̥̦̗̠̪̳̗̼ͤ̈̓̾̆ͥ̅ͥ̿̿̒̇̓͟n̵̑͂̎ͪ́̾̃ͨ͗͛́́̚̚҉̶͙̰͓̱̳̯͓̟̺̤͈̥ͅn͒̿̏̆͏̳̯͍͎̫͇̮̳̼͎͚̜͓̦̝͜͟͡5ͨ̃͐ͬ̔̉͜҉̨̯̥̗͕̪̙̭͚̳͚͇͎̭̪͙̣̺́e̶̡̧͈̬̻̼̮͕̯͈̖͚͙̬̗͕̲ͬ̾̾̓̔͑͊ͨ͂ͪ̅͋̀ͪ̂̑̚͟ͅb̸̧͉̝̜̗͉̫͕͎͓͖̙̱ͩ͌ͪ͒̊̓ͦ͂̎͗ͨ̀̀ͮ͊̿͐͜y̅ͦͮ̽́ͥ͆ͫ̊ͩͪ̿ͩͭ͋͟҉̶̧̰̦̳̥̬̼̩̟̹͖͕̟̞͈͓̰̠͈ͅ3̷͕̮̤̩̳̙̳̮̹͕͇̱͖͖̋ͦͩͧ̃͊́ͩ̽̉̓̌̋́͟͝2̴̗̯͉̦̪̯̠͙̩̩̦̝̪̯̘̈ͨ̏́ͅ4̧̡̣̮̖͚̫̙̿̃ͫͫ̊̍̄̀̓̔̏͒ͦ́ͅͅ6̷̼̳͇̱̖̙̯̲̤͈̼͍̤̰̬̺̺͕ͭ̂͗̇̆̿͋ͥ͛̏ͫ̀ͣͧ̏̈́͞ͅ2̨̰̺̬̮̤̬̬̰̄̇̔̽ͫ͛͗̓ͯ̌ͫ̑̈́͘ͅ3͍͈͇͔̯͍͓͙̺̮͈̖͍̮̟̗̝̝͂ͫ̃ͤ̏͐̌́́́ͩ̀͘͡ͅ6̺̞̦̻͕̪̫̹̩͓ͫ͌̋̃͋̀̕͡͝ͅ3̏̈́ͧͬ̈́́̊̈̿ͯ̑̆̇̊̽̌͐́҉҉̡̨̪͉̖̖͇̯͉̥4̴̧̰͈̭̼̗̹̻͕͉͈̱̜̺̳̘̣̠̼̹̓ͩͮ̾̎̅̂̉̾̐͑̿͋͆̋͐̏͘
̴̢̭̰͚͎̦̟̜̫̟̰ͣͦ́͗̓̄̒͘͟3̢͙̹͍̹͖͈̙͚̱̰̝͙̗̙̹̗͖̺̟ͦ̑́̒̆̊̐̀͠͠4ͬͪͤ̏́҉͡͏̦͚̮͚̖̩̖̞̱̹̥̫̥͉6̡̡̛̜̮̭̞̰͗̾ͧ̇̃ͩ́͊͘͞3̜̘̘̤̬͚̫͉̹͖̘̰̩͇̖̳̺͇͙̆͐̈ͤͥ́ͬͩ͌̂̌̂͗͗͒̆̔̀͟͡͡2ͨͦͥ̓ͪ̎͏̵̵͈̯̩̼̬̦4̭̼͚͕̪̤̱̹̞̩̤̬̞͇̭͔͔̰̰͋̎͑ͫ͌̐̑͑̿̄ͯ́͡6̉̋́̾̌̍̒͌ͮ̕҉̯̘͙̳̲͙͍̞v̨̢͊ͦ̀҉̧̺̳͚̫̟͚͍̘̼̹̳̘̱̥͙͕͍͍̀w̵̨̳̭̖̘̮̩͔̘̱̭͍̰̗ͤ̇͊ͣ͂̆̋͢͠t̪̯̹̯̩̝̝̪͖̯ͭ̒̍̔ͤ̈̈̿̍̌̆ͮ͌ͯͮ͜͞ͅͅͅj̦̳̫̙̫̝͇̟̩͉͇̲̻̙̼ͬͯ̾̀ͫͦ̾̑̇̔ͪ͜͡r̴ͧ̈͗͋̑ͩ̾̽ͧ̌͌̉̋͛͗̔̔ͦ͏͇̦̥̝̮̳̦̺͕̫̹͍͔̞͝ͅͅͅw̴̛̖̙̻̞̭̼̘̹̼̫̲͕͓̗̘̹̋̏̅͊̎͋̉̾ͅt̡̧̳͇͚̲̮̻̣̺̝ͧ̏͂̅ͤ̕͝ả̗̜̯̻̗̝̜̼̪͕͓̭͍͂̇̐ͦͨ͌̽́́͝ͅ3̶͉͕̹̥̟̺̘͍̗̾̂ͫ̌ͯ̿̋̇͛ͪ̾ͭ͒͛̄̂̓̚͜͞7ͧ̒͂͊̆̽̓͏̵̢҉̞̭͖̼͙͎͚̟͉̻̹̙͉̣͎͍̪4̇ͫͧ̃́̾̎͛͆̿̈́ͭͪ͑ͭͤ̚҉̨͚̙̝̺̯̪͕̬͇̠͖̘̞̬̩̣̲͜͡͝5̵͓̘̝̻̺̺͈̟̯̟̬̲̘̠̜̥̻̦̬̓̋ͪͪͦͫ̚͘6̵̧̺̟͈̜̱͚̜̱̪̯͖̞͙̳̲͍̃͊ͫ͊̽̒̐͢͝8̶̷͔̦̹͙̔̂͐̈̆́̆ͤͪ̽̇̆͜͞5̸̴͉͈̺̮̥͇͍͕̦̗̏̂̐͒ͦ̃̌͌ͧͨͮ̆́͘͢7̹̤̪̺͕ͮͫ͊ͤͣ͛̉́͢3̷̨͍͓̱̼͓̥̘̼͔͎̲̗͈͕͖̭̽̑ͧ̃̏ͤ̊̂
̵̲̖̪̜̫̱̫̻̜̫̞ͭ͆̈́ͯ̋̆̓̀5̢̢̱̺̞͇̭̩͇̹̙̰̰̳̰̫͓̮̙͈̘͒ͮ̄̎͛̓͊̌ͩ̚͢͝4̷̩̱͈͓̺̘̓̉͐̑͗̉ͩ̆͊̂̒̑̈͑̑͌ͤͥ͘͘̕͝6̡̫̭͍̤̝͔̯̟̗̬̣͈͉͇̜͐ͯ͆̌3̸̷̨̦͚̱̭͈̖̖̈́́̎͛̒͌̽ͫ͢͠4̵̏̐̄̍ͦͭ͒̒҉̢̠̯͕̱͢͡ͅ6̨̯͖͎̮͖͈̩̤̺͚̥͚͈̰͔̭ͫ͆̽̀̿͡7̱̩̹̟̖̭̗̤̮̦̭͕̳͒̑ͫ̊̉̄̇ͥ̈́̽̊͆͝v̷̴̛̟̮̳͈̘̰̿͂ͤ̀̄̀ͤ̍͊ͯ͗́ͨͭ̊̏s̗̬̜̥̟̬̅ͬͣ̇̐̒ͭ̇́̓̍̅̀̕ķ̷̺͈̬̺̠̩̣̭̗͈̪͆ͩ͑ͦ͗̈ͧͧ́̚͡͡h̴̢̧̛͍͍̗̻̘̮͍̀̽̾̓̏ͅb̨̳̜̘͕͛̀ͫͦ͐ͮ͛́͛̏̇̀̕r̛͔̦̼̀̔ͮ͛͋ͪͧ̃͛̂͛̂̉̐́̚̕4̢̡̻͚̮̹̹̙͖̙͓͚̮̘̟̼̝̮̂̇͛̃̈ͮͧ̊̎̿̽ͯͥ́͟͠͝5̨̨͎̪̮͎͖̩̙̫̤̫̹̟̩̮ͨͭ͋ͯ͋ͮͯ̋ͪ̑̄ͧͭ̆ͤ̈́ͭͩ̚̕͠3ͤͭ̎͆̽͒̈́̌̈̽̍̓̏҉̫͓̗̩̺͕̬̼̦̘̦͎7̨͎̮̯̼̙̜̪͕̭̺̞̯͚ͫͤ̆̋͑ͮ̉̅̇͐ͫ̀3͊̀͆̈́ͩ̊͛̍́ͣͤ̓ͬ̿ͨ̓͑͗͗͘̕҉͉̗̥̮ͅ4̴̴̢͈̦̤̼͎̼͍͔̝̳ͣ̾́͑͗̒̎̐ͤ̀ͯ̋̚̕͝7̡̡̛̻̩̺͉͆ͦ͗̒ͦ̽͒͊̉͌͌̌̏̇́4̨͛ͩ̍̽̋̉ͪ̅͛̄͐̈ͩ̄̚̕҉̻̘͔͕̤̬̗̹̟̫3͈̥̘̼͙̤̖̬̺̥̠̜̖̯̦̐ͪͮ̈́̐͗ͤ̔ͯ̈́̐͊̚͟͡ͅ5̢̘̭̬̺͚͔̱͓͇̘͙̗̫̮͙̲̜̃͂̈́̏ͥ̐̇̐̈̇͆͂ͅ6̵̷̛͍͇̥̺̼̻̺̥̦͕̆ͧ͐̓͐̏ͦ͌̾ͫͭ́ͫͦ͆͛̍̕͝

Laughs in Zalgo - Good luck (yes, this executes, believe it or not lol).


Try it online!

Magic Octopus Urn

Posted 2018-02-06T18:55:24.897

Reputation: 19 422

Cracked! – H.PWiz – 2018-02-14T16:22:20.710

5When I viewed the cracked post, Google Chrome asked, "Would you like to translate this page?" Goodness knows what language it thought it was seeing. :P – DLosc – 2018-02-15T06:04:12.930

@DLosc please go back and translate it, Zalgo has summoned you. – Magic Octopus Urn – 2018-02-15T13:45:50.303

@MagicOctopusUrn the same happened to me; Chrome told me the page could not be translated. – Giuseppe – 2018-02-15T13:51:43.947

@DLosc chrome seems to think that it is in vietnamese for me – Taylor Scott – 2018-02-15T20:47:53.203

2@MagicOctopusUrn Maybe I'm missing something, but why does the link you included for 05AB1E's documentation go to neopets? – David Archibald – 2018-02-19T04:39:16.787

@DavidArchibald I blame Russian hackers. – Magic Octopus Urn – 2018-02-20T12:53:36.243

7

Beatnik, 187 bytes, cracked by totallyhuman

aAaAa>>u<<TWELVE>>ooooooooo<<if(i < 100); print("oOOoOooOoOoO");
done:
    PutNumbersFromOneToOneHundredInclusiveFunctionZD<GOTO 100>;
    executes(print); language(CPlusPlusE::PublicUI);

Outputs raw bytes.

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is Beatnik. So pissed it took me so long... – totallyhuman – 2018-02-10T01:46:40.630

1@totallyhuman nooooooooooooooooooooooooooooo – MD XF – 2018-02-10T01:47:12.427

7

brainfuck, 220 bytes, cracked by tsh

Yes, feeding into a brainfuck interpreter does the work, but polyglots are sweet.

// Calculate the digit sum of 2^64
var sum = 1 + 8 + 4 + 4 + 6 + 7 + 4 + 4 + 0 + 7 + 3;
var b = " "[2 > 1 && (sum = sum + 7 + 0 + 9 + 5 + 5 + 1 + 6 + 1 + 6) + 0 < -88];
var c = "a" > [2 < +3 ? console.log(sum) > -1 : 0];

Yes, this is a full program. Prints all ASCII codepoints from 1 through 100.

Intended to be funny.

P.S. Prints 88 in JS.

Shieru Asakoto

Posted 2018-02-06T18:55:24.897

Reputation: 4 445

cracked – tsh – 2018-02-07T09:41:55.240

7

Festival Speech Synthesis System, 1708 bytes, cracked by fergusq

;#.#;‏⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠‌​
;echo {1..99};
(SayText "")
(SayText "hs sh (but which?) fl")
(SayText "link herring obscure, blame2 premier")
(SayText "don't forget to look up")
(define(f x)(cond((> x 100)())((print x))((f(+ x 1)))))
(f 1)

Hexdump (optional, if you don't like copy-pasting)


The concept behind this is that there are three languages going on here: Headsecks (hs), zsh (sh), and the actual Festival Lisp (fl). The intent was that running the program in one would help gain insight into the others:

The herring (zsh)

bash doesn't like having the semicolons by themselves at the top (hence "but which?"), however zsh will happily take them and skip down to the echo {1..99}; line, which will expand into 1 through 100... except for 100, of course.

This was supposed to be the most obvious one, and the intent was to tip off the robber that the fourth line hints are referring to languages.

The link (Headsecks)

This seems to the thing that most people started on instead: the unprintable blob (blame2) after the first line (premier). This is a (completely ungolfed) Headsecks program that outputs this:

:26726392

Go to that message in the transcript, and you get this delightful conversation. But if you look up, you get this.

The obscure (Festival)

Festival "Lisp" is really just an embedded Scheme interpreter; if you took the numerous SayTexts out, this program would run correctly in almost any flavor of Lisp (semicolons are comments). As it is, it requires that SayText be already defined... which it is in Festival. You'll hear it rattle out the hints if you have an audio device, after which it will then correctly print out 1 to 100.

a spaghetto

Posted 2018-02-06T18:55:24.897

Reputation: 10 647

3...That's... Could we have a hexdump? – totallyhuman – 2018-02-11T02:39:52.997

1What's the output format? (I'm assuming those strings don't actually get printed...) – DLosc – 2018-02-11T04:05:55.810

@DLosc Regular STDOUT. It might take a little while though. – a spaghetto – 2018-02-11T04:31:13.020

Aha! Is this Anguish?

– Jo King – 2018-02-11T04:55:37.770

@JoKing No (and I'd be surprised if it worked by some coincidence). – a spaghetto – 2018-02-11T05:10:26.577

Just a reminder you only get one guess per cop, so definitely make sure it runs first. This has a couple layers to it. – a spaghetto – 2018-02-11T05:22:19.500

@DLosc Newlines. – a spaghetto – 2018-02-11T05:23:10.380

The challenge requires a downloadable file or a hexdump. You should at least mention the encoding. – Dennis – 2018-02-11T05:36:30.803

@Dennis It's UTF-8. – a spaghetto – 2018-02-11T15:33:58.463

1cracked? – fergusq – 2018-02-11T17:28:21.903

@fergusq Correct. – a spaghetto – 2018-02-11T17:30:16.893

6

xEec, 47 bytes, cracked by MD XF

h#1 h#0 >a p o# h#10 o$ p h#1 ma t h#101 ms jna

Try it online!

totallyhuman

Posted 2018-02-06T18:55:24.897

Reputation: 15 378

Cracked. – MD XF – 2018-02-06T21:05:10.710

6

Unbalanced, 130 bytes, cracked by user202729

)<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<)<){>{>}<({)<}}>(>((>(<{>}<<(

Try it online!

Well I thought I'd give this a go. Can't be terribly hard to crack but should be some fun (I had fun writing this program at least).

For ease of cracking the important parts of the program are first a single parenthesis

)

Then 100 <s

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Then some junk

)<){>{>}<({)<}}>(>((>(<{>}<<(

Explanation

Unbalanced is a programming language about using the imbalance of braces in the program to do computations.

The first part of the program

)<<<<....<<<<)<

Creates three cells set to 1 with an ocean of 99 0s between two them. We then use the subroutine

{>{>}<({)<}}

Which will add travel incrementing each cell until it hits a zero at which point it resets itself back to the begining of each line. This will run until all of the 99 0s have been filled with ascending numbers. Once that's done we do a little clean up

>(>((>(<{>}<<(

to remove all of the markers we placed.

Post Rock Garf Hunter

Posted 2018-02-06T18:55:24.897

Reputation: 55 382

What output format does this use? Unary, bytes, numbers etc. – caird coinheringaahing – 2018-02-06T20:38:33.277

6@cairdcoinheringaahing It can use either bytes or numbers. I'm not picky. – Post Rock Garf Hunter – 2018-02-06T20:39:10.253

This really looks like Pain-Flak, I was rather surprised when it wasn't. +1 – MD XF – 2018-02-07T00:31:20.207

9Unless I'm mistaken, <<<<<<...<<<<<< is not the same as '100 >s'? – boboquack – 2018-02-07T06:06:13.413

2Cracked. – user202729 – 2018-02-07T12:00:22.037

Does this have an Esolangs article (nope), an English Wikipedia article (nope), a Rosetta Code article (nope) or a TIO implementation (nope)?

– MD XF – 2018-02-12T04:36:57.087

@MDXF Oh I thought it had a Esolangs article. My bad. – Post Rock Garf Hunter – 2018-02-12T04:37:51.987

6

TacO, 31 bytes, cracked by totallyhuman

$ 100
@(%
  #XX
&^0
  *i	*j
F=1

The output is a list of unary numbers with 1 representing the digit. The delimiter between the numbers is \t0 (a tab and a zero). There is also a single leading 0. The raw text of the output can be found here. The raw text for the source code is here.

TacO is a 2D language. The instruction pointer begins at the @ symbol and follows the chain of nonwhitespace. The only active code in this program is

 100
@%
 0
 *i
 1

The % symbol creates a loop where the first branch yields the number of times the second branch should be executed. The zero gets added to the eventual output then the * symbol which in this case works mostly the same way as %. The i yields which % loop is being run then the 1 gets added i times.

In the original program I through in XX to try and throw people off, hoping they would be looking for languages that where XX would mean 100. The tab+*j was also meant to be a red herring since there is a tab in the input (which is the default output for % I guess). I included the other symbols because there needed to be spaces anyway so they didn't cost any bytes.

dylnan

Posted 2018-02-06T18:55:24.897

Reputation: 4 993

3Replacing the tab character with &#9; makes it display properly in the Markdown. – Esolanging Fruit – 2018-02-07T04:27:26.960

This is TacO. – totallyhuman – 2018-02-11T22:42:05.573

@totallyhuman nice – dylnan – 2018-02-11T23:27:55.603

6

SuperCollider, 22 bytes, cracked by Dennis

for(1,100,"% "postf:_)

Outputs decimal integers, space separated. The output has a trailing space but no trailing newline.


Explanation: SuperCollider is a domain-specific language for sound synthesis and music composition, so I thought it might obscure enough in this community to escape being cracked. I used to golf in it regularly though, in order to post music on Twitter. (The link has audio recordings as well as the 140-character code that produced them.)

In addition, I used a couple of tricks to make the code not look like typical SuperCollider. A more paradigmatic approach to this task would be

99.do {
    arg i;
    (i+1).postln;
};

which prints the numbers newline-separated.

Nathaniel

Posted 2018-02-06T18:55:24.897

Reputation: 6 641

Cracked. – Dennis – 2018-02-07T20:58:24.353

6

Literate CoffeeScript, 429 bytes, safe

##For# ###@### #####

 ###(# ##i# ### ### ##=1###

###whiLe# ##lEss###than###

 ###||##equalTo## ### ###100#&#doing#pLusplUs##i###

# #####)##{#### # ###x=exp i##

 ### ###console###stdout###

### #this###Next###exPresSion##

 ###plz###.###----# #-----## ##-----###

####instead## ###Of##loop-the-loop########

 ### ###log x###fRom##math###for x###Gold# ###in### ###[1###evelaTingTo###..100]###}###

run program mode 100

Numbers are newline separated.

Hint: some interpreters are file extension sensitive.


Explanation

Try it online!

The CoffeeScript compiler recognises files that have a .litcoffee extension as being literate CoffeeScript (as mentioned on Wikipedia). These are meant to be markdown files where the indented code is treated as CoffeeScript. So with the now extraneous newlines removed the code looks like this after it has been tranformed to non-literate CoffeeScript

###(# ##i# ### ### ##=1###
###||##equalTo## ### ###100#&#doing#pLusplUs##i###
### ###console###stdout###
###plz###.###----# #-----## ##-----###
### ###log x###fRom##math###for x###Gold# ###in### ###[1###evelaTingTo###..100]###}###

In CoffeeScript the block comment character is ### so most of this is either whitespace or inside a block comment. The actually functional code is

       console
         .
       log x for x in [1..100]

This code is equivalent to console.log x for x in [1..100]

Potato44

Posted 2018-02-06T18:55:24.897

Reputation: 2 835

6

AlphaBeta, 8 bytes, safe

One last crack at a short one.

gD[Lxe]O

Outputs as raw

Explanation

g         adds 1 to register 2
 D        sets register 3 to value of register 2
   L      outputs a character to the screen
    x     clears register 1
     e    adds 100 to register e
       O  goto the position register (0) if register 1 != register 2

The [] are no-ops.

Unfortunately, after I posted this answer I discovered that the interpreter linked on the esolang page has a bug where it increments the instruction pointer immediately after the O command. This was discovered and fixed by @Dennis in this answer and fixed in this interpreter. I would have changed it slightly to work with either, but I thought it was too late by then. If this invalidates my answer, so be it.

Dennis has added the fixed interpreter to TIO so :)

Try it online!

MickyT

Posted 2018-02-06T18:55:24.897

Reputation: 11 735

Nice misdirection with the brackets. (Who expects no-ops in 8 bytes of source code?) I've added the modified interpreter (fixed w as well) to TIO. Try it online!

– Dennis – 2018-02-19T02:29:37.467

@Dennis Thank you, to be honest I thought you may crack it. – MickyT – 2018-02-19T04:13:09.190

5

APL (Dyalog), 7 bytes, cracked by Conor O'Brien

+\100\1

Decimal output.

Uriel

Posted 2018-02-06T18:55:24.897

Reputation: 11 708

3

This seems to be APL, but if it were, it would violate the "may not assume REPL" environment. AFAICT, this works. I am probably missing a language, but I'm posting this comment just to make sure

– Conor O'Brien – 2018-02-07T00:23:27.853

@ConorO'Brien that's indeed APL. AFAIK this form is considered a full program (as the assignment to stdout is a part of the way it works in tio). If you want to run it as is, you can use the input section rather than the assignment in the code section. – Uriel – 2018-02-07T06:08:53.413

Well, then cracked

– Conor O'Brien – 2018-02-07T14:46:10.073

You didn't obfuscate it enough: +\1/1/10/1/10/+\1/1

– Adám – 2018-02-11T22:59:41.707

@Adám I figured that in that form it would be less likely to be spotted as APL, and could look like the instructions are push 1 (\1), push 100 (\100), and range (+) – Uriel – 2018-02-12T01:43:05.507

Still right-associative, so it smells of APL. – Adám – 2018-02-12T01:48:04.560

5

Forth, 74 48 bytes, cracked by Mego

: | 0 do i 1 + 0 do 42 emit loop cr loop ; 100 |

Unary output

jmarkmurphy

Posted 2018-02-06T18:55:24.897

Reputation: 171

3Welcome to the site! I've added a formatted header to this post including a byte count. Feel free to roll this back or edit it further. – Post Rock Garf Hunter – 2018-02-07T15:17:56.670

Cracked – Mego – 2018-02-07T15:36:59.100

5

Spiral, 136 bytes, safe

2^,*v~******v^v+.@
     X          3X&#%!;
 R"";!>+>+>-[>>>]?
    >--[-[<->+++[-]]]<[++++++++++++<[
"123 0******v^v+^v+^v+^v+*****v+*v1"

Output is newline-separated.

Interpreter.

Unobfuscated (67 bytes):

2^,*v~******v^v+.3
     X
     !
123 0******v^v+^v+^v+^v+*****v+*v1

The additional characters in the obfuscated version are not no-ops (except for the quote marks), they just are never reached.

Explanation:

The instruction pointer of the program begins at the 0. At each step, the IP tries to turn 90 degrees right from its current direction. If there is whitespace in that direction, it turns left until it finds something that is not whitespace. Once it has found a non-whitespace character to move to, it moves to that position and executes the command that the character represents.

So, in this case, the IP starts moving right from the zero on the last line:

0******v^v+^v+^v+^v+*****v+*v1

* increments the value in the register by one. This happens six times, and then v pushes the number 6 from the register to the stack. ^ copies the value from the stack to the register, and the second v pushes the copy to the stack. Then + pops the two values from the stack and pushes their sum to the stack.

At the end of the line (just before reaching the 1), there are two numbers in the stack, 1 (on top) and 100. 1, 2, and 3 are labels. When one of them is reached, the IP jumps to the second occurrence of the same character in the code. So, from the end of the last line, the IP jumps to the beginning of the last line, to: 123. From there it immediately jumps to the first line of the code:

2^,*v~******v^v+.3
     X
     !

^ copies the number 1 from the stack to the register, , pops it from the stack and prints it as a decimal number. *v increments the register by one and pushes it into the stack. ~ compares the two topmost values on the stack, and pushes a zero into the stack if they are equal (-1 or 1 otherwise, depending on which value is larger).

At this point, for the first time in this program, there is a character 90 degrees to the right from the instruction pointer's current position and direction. The IP tries to move to the X, which pops the value of the comparison from the stack. Compared to the other commands, X is special in that way that the IP only moves to it if the value popped from the stack is 0. Otherwise the IP treats it as whitespace and turns left until it finds some direction to go. Therefore the X branch is only entered when the two values in the stack are equal, that is, the counter (the number just printed) reaches 100. After that ! ends the program.

When the counter is less than one hundred, the IP resumes going eastward on the first line. ******v^v+ places number 10 in the stack, . pops it and prints it as an ASCII character (a newline, in this case). 3 jumps back to 123, from which the IP jumps back to the first line and a new iteration begins.

(In the obfuscated version the 3 is under the ., this doesn't affect the behaviour, because the IP turns right always when possible (unless it's in left-turning mode, but this program does not change the mode at any point.))

Steadybox

Posted 2018-02-06T18:55:24.897

Reputation: 15 798

Not Prelude, Hexagony, Brainbool, Boolfuck, Brainfuck, Hyper-Dimensional Brainfuck, Random Brainfuck, Fisson, Fission 2, Self-modifying Brainfuck, Symbolic Brainfuck, ><>, Gol><>,Triangular, Lost, Befunge-93, 96, 97 or 98, in case anyone wants to try to crack this. – NieDzejkob – 2018-02-15T15:46:20.847

@NieDzejkob Seems that the obfuscation worked, as I tried to make it look a bit like some of those languages. – Steadybox – 2018-02-15T19:31:52.613

5

AutoHotkey, 30 bytes, cracked by tsh

i=1
loop,100
 send % i++ . ","

Output is comma separated numbers

1,2,3,4,5,6,7,8,...

nelsontruran

Posted 2018-02-06T18:55:24.897

Reputation: 241

4Welcome to PPCG! – Martin Ender – 2018-02-09T00:32:10.283

1Cracked? – tsh – 2018-02-09T01:49:07.520

5

Alarm Clock Radio, 62 (+3 for -O2) = 65 bytes, safe

++++++++++++++++++++++++++++++++++++++++++++@[+++>+>]+>[+>.+>]

This is totally brain[bleep]! Metaphorically speaking, at least :D

It is a BF derivative, however!

Explanation

Alarm Clock Radio is a BF derivative without < or -, but it has a cyclic tape. -O2 is used to limit the tape size to 2 cells.

-O2 specifies the

++++++++++++++++++++++++++++++++++++++++++++ set pointer to 44
@ wait 44 seconds
[+++>+>]+   set tape to (156 1)
>[+>.+>]    until 156 is 0 (by overflow), output increasing characters

Since 256 - 156 == 100, this loops 100 times.

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

1(there are 44 +s before the @) – user202729 – 2018-02-09T11:46:49.197

Is this braincurses? – No one – 2018-02-15T03:24:19.713

@Noone no it is not, I don't think anyway – Conor O'Brien – 2018-02-15T03:33:29.923

So this is probably a well known language with so many interpreters, and the problem is to find out which interpreter had the right command line option? – jimmy23013 – 2018-02-15T14:05:59.063

@jimmy23013 I doubt the flag is necessary, considering it was edited in 10 hours later. – totallyhuman – 2018-02-15T20:05:35.713

@totallyhuman No, it is necessary, it was simply a copying mistake – Conor O'Brien – 2018-02-15T21:04:13.213

5

Giac/Xcas, 43 bytes, safe

a:=[];for(n:=1;n<101;n:=n+1)a:=append(a,n);

I hope this isn't too easy

iczero

Posted 2018-02-06T18:55:24.897

Reputation: 51

Note that for this challenge only full program submission is allowed. I'm not sure about REPL. – user202729 – 2018-02-09T11:23:16.827

1It is not Go, and it does not need to be run in a REPL. – iczero – 2018-02-09T14:53:57.430

1Note that languages must have free interpreters. Matlab can't be used. If this is Matlab then the answer is invalid. – user202729 – 2018-02-09T15:29:11.793

@user202729 If it works in Octave (it doesn't) it's fine though. – Erik the Outgolfer – 2018-02-09T15:33:35.770

2It's not Matlab either, and the interpreter is FOSS. – iczero – 2018-02-09T15:34:55.993

But does this actually print the list of numbers? – MD XF – 2018-02-10T03:06:15.890

1Yes, the list of numbers is printed. – iczero – 2018-02-10T04:07:05.007

1Does this have an esolangs article or a rosetta code article or a wikipedia article? – MD XF – 2018-02-17T19:46:44.320

1

@MDXF It does. https://en.wikipedia.org/wiki/Xcas#Giac

– moonheart08 – 2018-02-17T23:34:44.147

5

R, 494 bytes, cracked by totallyhuman

#define/*+[--->++<]>+++.[->++++<]>+.+++++++++++.-[->+++++<]>+.------------.-[--->++<]>-.+++++++++++.+[--->+<]>.-[->+++<]>+.+[---->+<]>+++.+[->++<]>.---[----->+<]>-.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.[->++++++++++<]>.>++++++++++..[------>+<]>.++++++++++.++++++++.+++++++++++.[++>---<]>...>++++++++++..*/\
print =cat   ( c (  1  :  100  )  ) 
#define print(x)main(){for(auto i=.5;i++<sizeof('i')*101;printf("%d ",(char)i));}
#include<stdio.h>
print("1 "*100)

Without all the polyglot obfuscation:

cat(c(1:100))

Steadybox

Posted 2018-02-06T18:55:24.897

Reputation: 15 798

3+1 for the Easter Egg when run in the 'obvious' language :D – caird coinheringaahing – 2018-02-10T16:18:34.913

This is R. – totallyhuman – 2018-02-10T16:20:22.640

5

Io, 71 bytes, cracked by Potato44

a := "+++++++++[>+.+.+.+.+.+.d.+.+.+.+.<-]";for(q,1,a at(23),q println)

iovoid

Posted 2018-02-06T18:55:24.897

Reputation: 411

How does this output the numbers? E.g. raw bytes, decimals separated by newlines, etc. – MD XF – 2018-02-11T05:27:52.947

(Brainfuck is not my guess) but if this is supposed to be Brainfuck or any derivative (e.g. Agony, Self-Modifying Brainfuck, Xeraph, etc) it doesn't work; it only prints up to 90. – MD XF – 2018-02-11T05:31:29.527

Cracked. I think. Untested. – Potato44 – 2018-02-11T14:52:07.613

5

Mouse, 35 bytes, safe

A little late to the party, but here's one:

2T5*=
(A1.1
+=1.!
B2.1-
=2.^"
")B$$

Explanation

Mouse is a simple stack based language that was described in Byte magazine in 1979 or so. Expressions are postfix. Single letters represent variables. When a variable name is scanned in the code, the address of the variable is pushed on the stack. The code above works with the Pascal version of the interpreter which pushes a '1' for A. A C version of the interpreter pushes a '0' for A.

The . operator retrieves the value in the variable indexed by the top of the stack. = pops the top two values from the stack and stores the value from the top into the variable indexed by the second from the top.

(..^..) is a loop; the^ pops the top of the stack and exits a loop if the value is zero ! pops and prints the top of the stack. "..." outputs the characters in quotes.

Because 1 and A both cause the value 1 to be pushed on the stack, 1. is equivalent to A.. This is used to obfuscate the code, e.g., A1.1+= instead of AA.1+=.

2T5*=(A1.1+=1.!B2.1-=2.^"\n")B$$

2T5*=                             var[2] = T * 5 (i.e. B = 20*5)
     (                            loop
      A1.1+=                      A = var[1] + 1  (i.e. A = A + 1)
            1.!                   push var[1] (i.e., A) and output it
               B2.1-=             B = var[2] - 1 (i.e. B = B - 1)
                     2.^          push var[2] (i.e. B) and exit loop if zero
                        "\n"      output a newline
                            )     end of loop
                             B    junk filer
                              $$  end of program

RootTwo

Posted 2018-02-06T18:55:24.897

Reputation: 1 749

This is safe; please reveal the language! – MD XF – 2018-02-19T04:09:45.390

5

Replace, 473 bytes, safe

Output is space separated, and is prepended with OUTPUT:\n.

1?2v ?-[>++<-----]>--[.-]>
Print=>{not Palindromic[_]or#String[_]<2}\1:100
"    *
     b
     a
     :
     o
     a
     n
     :
   >1^
     +
     1
     ^                                       \
\D+/ 
2 1/3
3 1/3 4
1 1/8
3 3/9
00/ 5 6 7
9 3/t1
1 4 3/1 t2
4 8/t3
8 9/t4
(?<=8 )(?=t)/9 
9  5/t5
(.) 7 5|6 (.) t1/t\1\2
4 1/t8
t2 4.+/t9
9$/9100
 t/t
t(.)/\1_0\1_1\1_2\1_3\1_4\1_5\1_6\1_7\1_8\1_9
_(.)(.)/\1 \2
910/9 10
     >                                       /
     ;"

Interpreter

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

Unfortunately it's not ><> – NieDzejkob – 2018-02-11T22:34:22.333

@NieDzejkob nor Gol><>, which misses some of the numbers; this is an impressive polyglot. – MD XF – 2018-02-12T02:42:35.453

This is safe; please reveal the language! – MD XF – 2018-02-19T04:09:56.427

I tried /// and itflabfriugherigoerujg (idk) but I didn't know of others. Nice one! – totallyhuman – 2018-02-20T23:12:24.607

@totallyhuman thanks! It was an interesting task to find "deja vu" languages – Conor O'Brien – 2018-02-21T00:16:57.337

5

Alphabetti spaghetti, 11 bytes, safe

JuvlikaJoEs

Outputs decimal with newline after every number.

Lerpo

Posted 2018-02-06T18:55:24.897

Reputation: 51

"If your code contains bytes outside of printable ASCII + newline, please include a hex dump to make sure your code is actually testable" -> 0x0A is not printable ASCII. – Mego – 2018-02-18T03:44:19.417

There shouldn't be a line feed and I can't seem to find it. The code is only those visible letters. – Lerpo – 2018-02-18T05:50:57.027

My bad, it was due to me messing up the xxd invocation. – Mego – 2018-02-18T06:33:25.520

This is safe; please reveal the language! – MD XF – 2018-02-19T04:10:07.460

The provided interpreter on esolangs does not build correctly: main.c:34:2: error: too many arguments to function ‘init’ – a spaghetto – 2018-02-21T16:58:56.657

@quartata It works in the second latest commit. At least on my machine, in REPL mode.

– user202729 – 2018-02-22T02:08:32.417

5

Literate Python, 162 bytes, safe

def define_i():

    global i

    i = 0

define_i()

while i < 100:

    i += 1

    print(i)

def ruin():

    for i in range(99):

        print(i + 2)

ruin()

Literate programming is a programming style where a program is written as a document that describes the behavior of the program along with its actual code, so programs mostly consist of paragraphs of prose followed by a few lines of code. Needless to say, being on PPCG, I'm not particularly interested in this concept :)

I'm not sure whether this counts. I'm heavily basing the validity of this answer off of this answer by Dennis, which uses an implementation of C with different behavior that is not present on Wikipedia or TIO.

Here, the "compiler" is this Ruby script, which extracts the actual code from a literate programming file (it is intended for Ruby programs and as such generates .rb files, but the Python interpreter doesn't care). When converting a literate program to a real program, the script simply searches for indented sections with blank lines around them. This means that the code that is actually executed looks like this:

global i
i = 0
i += 1
print(i)
for i in range(99):
    print(i + 2)

For some reason, a top-level global statement is not an error and is simply ignored, so this program prints out the integers from 1 to 100.

Esolanging Fruit

Posted 2018-02-06T18:55:24.897

Reputation: 13 542

Does this print anything outside of the 1-100 area? (i.e. are there trailing characters) – Solver – 2018-02-13T11:15:47.780

@Solver There is a trailing newline, just like there would be if Python was the correct answer. – Esolanging Fruit – 2018-02-13T15:07:02.027

One more day to be safe... – FantaC – 2018-02-20T01:50:00.780

This is safe now. – Christopher – 2018-02-20T19:24:08.610

@Christopher Revealed the language. – Esolanging Fruit – 2018-02-21T05:10:10.803

5

oOo CODE, 161 bytes, cracked by NieDzejkob

My apologies to all the young people here and us older one's as well :). Had some time to kill and this was just a bit of fun. Should be cracked rather quickly.

If UR lEEt `NUfF 2 W0rK 0Ut W0T 'd4 L4NgUAgE Is It Will 5h0W y4 ZEr0 T0 NiN37Y nIN3 pLUs 0NE, bU7 Us A AsCIi Ch4rACt0r 4 tH3 Numb3r Rath3R ThAN Th3 numB3r itS3Lf

This is brainfuck encoded using the case of each set of three letters. Once decoded the brainfuck program looks like ++++++++++[>++++++++++<-]>[<+.>-]

MickyT

Posted 2018-02-06T18:55:24.897

Reputation: 11 735

Cracked – NieDzejkob – 2018-02-14T15:50:49.277

4

Commentator, 223 bytes, cracked by totallyhuman

print "H e l l o, W o r l d!", end = 10
for i in range( 1 0 0 ):
        print i
;{-Haskell ?-}
#Python?
(({- Execute some# brainflak here#}))
;-}Perl: bvgk,l/;'juhedwsed/*{-:
05AB1E: 12DD/* Way to convert to float, nice :)

I might as well join in the fun! I'm pretty sure this doesn't work in any other languages, but Perl can be weird, so you never know. This outputs in bytes, so the output should look like:

	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd

caird coinheringaahing

Posted 2018-02-06T18:55:24.897

Reputation: 13 702

Cracked. – totallyhuman – 2018-02-06T20:33:17.257

4

Foo, 30 bytes, cracked by MD XF

It wouldn't be the Programming Language Quiz without Foo!

@10+10*+10(10@1>+$i<$c10-1)+@0

Outputs in decimal, with a newline after each number.

DLosc

Posted 2018-02-06T18:55:24.897

Reputation: 21 213

Cracked. (didn't see that coming) – MD XF – 2018-02-07T00:13:45.383

4

Befunge-98, 40 bytes, cracked by totallyhuman

"0" < q <= s' * 1e' * g * 1061 * 19 * 77

Outputs as decimal integers.

ovs

Posted 2018-02-06T18:55:24.897

Reputation: 21 408

Cracked. – totallyhuman – 2018-02-06T21:23:22.963

@totallyhuman that was faster than I expected – ovs – 2018-02-06T21:27:09.840

4

Brainf*ck, 322 bytes, cracked by totallyhuman

c="[,]"[1];f=[eval("str.format")][0];p="1+1"
late=eval(p)+sum([((-1)>1)+0+(0>1)+0+1<<4]);ml=160>>2
ml*=([(7-1)<7+1+1+3*(9>1)]<[(5-1>1+1+1>2)+2+1<<2]);xn=42>>1;ss=sum(eval(f("[10-5{}(4<7)+7+8{}(6>8)]>>>["[:24],c,c)))#]<<<
lol=(7<42)+late+ml+xn+ss#[
m=-9;g=(str((2>m)+x) for x in range(lol));print("\n".join(g));1 < 2 or e#]

This is way too long to win, but it probably won't be safe anyways.

internet_user

Posted 2018-02-06T18:55:24.897

Reputation: 314

Cracked. – totallyhuman – 2018-02-06T22:25:53.547

4

Underload, 659 bytes, cracked by MD XF

lpvO`.U%C$j<{YNXzbF[=/n'A5 7KYL3$3IZvrP>P%LJ&`fv[5]$3(
){u}Z'K7s{lA8}pNZvmLwE`GevRo?I>H38{q}[d/hJrkcp7F]e7$H[
L(]WCrrWxbb[M][6]m\[DH]j98Ki&H<n=Nn=|{f}UMs-`_5b?-ixC/
5V_M{R}w@+[N2P]eg998dq;[Qq]-od|XoX{P}{N,}#G($)%tdZN*?[
Z];fUK{_H26DY'R|sdQy;%P#g}|X{IQvM}cXDMmvG1O[i-][{s}]3I
L:hw2s ="dY0g/4YS14#>Y.GIs=KMm"H[&]r3[G])VgE(hCLyP8cs[
V]j[W]jg:cvp6X8:lNchdg8;55{o}P]{*Q}qc[y$]sZ?P60EI[_]wt
:6TIyK'XRfR<[>HG]*|Xz]o[z]0A[T]t{"}*}[8#N5wy[{nU}[W]N;
+h?p{nRgy}W{[u]vIJX?{sl,};4>.}Z/Km>1]]:pMp-0<[[,].Q$J`
*&nL0Jg]{/{J),[[{[s]j}]]=f7f B:5k}"B{1A}}{*T}1Tr/cRX w
lBKJ_6UoC^QBC{8}/G'x2&Le3w[u]&T-hpUA2/c.>Zb[N]|pX[8,]X
t2@^.{h}K7lo{<d}xozh>wb?Hello worldHello worldHello wo

This is Underload. The Underload interpreter on TIO ignores invalid commands (anything other than :*()^aS!~), so the program looks like this:

(
)(($)*:S)::*:**:*:*^
I wrote a Python script that generated random ASCII (excluding Underload commands) with matching brackets. I then filled in the result with my Underload program.

Esolanging Fruit

Posted 2018-02-06T18:55:24.897

Reputation: 13 542

Is this Gammaplex? Can't find a working interpreter to test it out – MD XF – 2018-02-08T04:13:28.383

@MDXF I'll just answer your question to save you time: No. – Esolanging Fruit – 2018-02-08T04:49:20.870

4Cracked, finally! – MD XF – 2018-02-13T05:08:25.427

2@MDXF nice crack and EsolangingFruit nice obscuring ( I can't spell obfuscation) – MickyT – 2018-02-13T05:24:24.470

The matching brackets/braces/parenthesis gave it away for me. – MD XF – 2018-02-13T05:52:48.520

@MDXF Nice! Note that the brackets aren't actually perfectly matched everywhere; there are a few deliberate mismatches to provide confusion (although staring at the code now I can't remember where they were :P) – Esolanging Fruit – 2018-02-13T06:30:56.330

@EsolangingFruit nice! I didn't manually check them but they appeared to be balanced so I tested underload. – MD XF – 2018-02-13T18:37:55.470

4

MATL, 54 bytes, cracked by ovs

False T
For nnz(100) T+1 
'cout <<' T
)o:
bux bux Q
hu

Well, there's an emoji in there... )o:

It's actually the c in 'cout'(code-point 99) that makes the range end at 100, not the number 100 in the code.

Outputs as a list of numbers, separated by spaces.

Explanation

F             % Push False (0)
 a            % any(). Stack: 0
  l           % ones(). Stack: 0, 1
   s          % sum(). Stack: 0, 1
    e         % reshape(). Stack: 0
      T       % Push True (1). Stack: 0, 1
F             % Push False (0). Stack: 0, 1, 0
 o            % parity(). Stack: 0, 1, 0
  r           % Push random number. Stack: 0, 1, 0, 0.4234..
    n         % numel(). Stack: 0, 1, 0, 1
     n        % numel(). Stack: 0, 1, 0, 1
      z       % nnz(). Stack: 0, 1, 0, 1
       (      % Assignment indexing. Stack: 0, 0
        100   % Push 100. Stack: 0, 0, 100
           )  % Reference indexing (nothing there). Stack: 0, 0
             T     % Push True(1). Stack: 0, 0, 1
              +    % Add last two numbers: Stack: 0, 1
               1   % Push 1. Stack: 0, 1, 1
'cout <<'        % Push string, 'cout <<'. Stack: 0, 1, 1, 'cout <<'
          T      % Push True (0). Stack: 0, 1, 1, 'cout <<', 1
)                % Reference indexing using T as index to the string. Stack: 0, 1, 1, 'c'
 o               % Convert to double. Stack: 0, 1, 1, 99
  :              % Range from 1 to 99. Stack: 0, 1, 1, [1, 2, ... 99]
b                % Bubble. Stack: 0, 1, [1 2, ... 99], 1
 ux              % Unique, and delete last element. Stack: [0, 1, [1, 2, ... 99]
    bux          % The same again. Stack: 1, [1, 2, ... 99]
        Q        % Increment. Stack: 1, [2, 3, ... 100]
hu               % Horizontal concatenation and unique. Stack: [1, 2, ... 100]

Stewie Griffin

Posted 2018-02-06T18:55:24.897

Reputation: 43 471

cracked – ovs – 2018-02-07T15:04:20.670

Yeah, nnz is very revealing. – Erik the Outgolfer – 2018-02-07T15:14:44.067

1In hindsight, I should maybe have chosen something else than those functions as nnz is a common MATLAB function, and that makes you think of MATL. But nnz(100) is something very different in MATL than in MATLAB. – Stewie Griffin – 2018-02-07T19:53:52.497

Explanation added. :) – Stewie Griffin – 2018-02-11T20:43:29.557

4

Width, 249 bytes, safe

Oml, my GL :G
      		  MM :Z 
	  	  i'm GR8 ;]
GL mom! 	
	  	  F#$! i'm my RAG3! >:[
 	 	  111'M Gr8! =] 

11/01/18:
  	
w0W i'm IQ=1
 	  	  Ik! ;]
*IQ=100
	 	  tUt!
11/02/18:

  __
 (Gl)
  .
 . 
:W 
		  i Wi11 
                  WOw! 1 RAN and WON

Try it online!

Is this a program, or did I accidentally screenshot my text history?

Output is in the form [1, 2, 3, ... 99, 100]


Width gives you a lot of leeway by:

  • Only executing alphabetic characters
  • Allowing you to choose between sets of characters for each command (for example, command 3 can be any of a b d e g h n o p q u L, though command 9 can only be W)

All the whitespace nonsense, the IQ=100 and the emoticons were red herrings.

The executing code is

OmlmyGLGMMZimGRGLmomFimmyRAGMGrwWimIQIkIQtUtGlWiWiWOwRAN

Which pushes the string print(list(range(1,101))) and evaluates it using the inbuilt Python eval command. BTW, I'm pretty sure the looping mechanism for that language is broken, since it kept hitting a recursion limit when I tried to use it... :(

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

This is safe; please reveal the language! – MD XF – 2018-02-19T04:09:37.257

4

VoidLang, 2627 bytes, cracked by moonheart08

"11"!"|"!"111"+!."|"!"1111"++!."|"!"11111"+++!."|"!"111111"++++!."|"!"1111111"+++++!."|"!"11111111"++++++!."|"!"111111111"+++++++!."|"!"91"!."|"!"911"+!."|"!"9111"++!."|"!"91111"+++!."|"!"911111"++++!."|"!"9111111"+++++!."|"!"91111111"++++++!."|"!"911111111"+++++++!."|"!"9111111111"++++++++!."|"!"991"+!."|"!"9911"++!."|"!"99111"+++!."|"!"991111"++++!."|"!"9911111"+++++!."|"!"99111111"++++++!."|"!"991111111"+++++++!."|"!"9911111111"++++++++!."|"!"99111111111"+++++++++!."|"!"9991"++!."|"!"99911"+++!."|"!"999111"++++!."|"!"9991111"+++++!."|"!"99911111"++++++!."|"!"999111111"+++++++!."|"!"9991111111"++++++++!."|"!"99911111111"+++++++++!."|"!"999111111111"++++++++++!."|"!"99991"+++!."|"!"999911"++++!."|"!"9999111"+++++!."|"!"99991111"++++++!."|"!"999911111"+++++++!."|"!"9999111111"++++++++!."|"!"99991111111"+++++++++!."|"!"999911111111"++++++++++!."|"!"9999111111111"+++++++++++!."|"!"999991"++++!."|"!"9999911"+++++!."|"!"99999111"++++++!."|"!"999991111"+++++++!."|"!"9999911111"++++++++!."|"!"99999111111"+++++++++!."|"!"999991111111"++++++++++!."|"!"9999911111111"+++++++++++!."|"!"99999111111111"++++++++++++!."|"!"9999991"+++++!."|"!"99999911"++++++!."|"!"999999111"+++++++!."|"!"9999991111"++++++++!."|"!"99999911111"+++++++++!."|"!"999999111111"++++++++++!."|"!"9999991111111"+++++++++++!."|"!"99999911111111"++++++++++++!."|"!"999999111111111"+++++++++++++!."|"!"99999991"++++++!."|"!"999999911"+++++++!."|"!"9999999111"++++++++!."|"!"99999991111"+++++++++!."|"!"999999911111"++++++++++!."|"!"9999999111111"+++++++++++!."|"!"99999991111111"++++++++++++!."|"!"999999911111111"+++++++++++++!."|"!"9999999111111111"++++++++++++++!."|"!"999999991"+++++++!."|"!"9999999911"++++++++!."|"!"99999999111"+++++++++!."|"!"999999991111"++++++++++!."|"!"9999999911111"+++++++++++!."|"!"99999999111111"++++++++++++!."|"!"999999991111111"+++++++++++++!."|"!"9999999911111111"++++++++++++++!."|"!"99999999111111111"+++++++++++++++!."|"!"9999999991"++++++++!."|"!"99999999911"+++++++++!."|"!"999999999111"++++++++++!."|"!"9999999991111"+++++++++++!."|"!"99999999911111"++++++++++++!."|"!"999999999111111"+++++++++++++!."|"!"9999999991111111"++++++++++++++!."|"!"99999999911111111"+++++++++++++++!."|"!"999999999111111111"++++++++++++++++!."|"!"99999999991"+++++++++!."|"!"999999999911"++++++++++!."|"!"9999999999111"+++++++++++!."|"!"99999999991111"++++++++++++!."|"!"999999999911111"+++++++++++++!."|"!"9999999999111111"++++++++++++++!."|"!"99999999991111111"+++++++++++++++!."|"!"999999999911111111"++++++++++++++++!."|"!"9999999999111111111"+++++++++++++++++!."|"!"999999999991"++++++++++!."|"!"9999999999911"+++++++++++!."|"!

I couldnt resist to use my own toy language.

iovoid

Posted 2018-02-06T18:55:24.897

Reputation: 411

This was really a pain to copy so I could paste into an interpreter. Pastebin where you can select-all.

– MD XF – 2018-02-13T03:27:04.507

@MDXF double clicking it selects the entire text on my computer – dylnan – 2018-02-13T06:16:06.207

What's the output format? – totallyhuman – 2018-02-13T15:56:53.373

@totallyhuman the output format is numbers with | as separator – iovoid – 2018-02-14T02:46:02.720

I know what this is, and you know it @iovoid. Cracked when I wake up tommorow – moonheart08 – 2018-02-16T04:08:47.823

@moonheart08 did you forget about it? – NieDzejkob – 2018-02-18T10:26:49.973

Yup. Leme do it right now. – moonheart08 – 2018-02-19T15:56:10.720

Cracked – moonheart08 – 2018-02-19T15:58:22.427

4

Coconut, 244 bytes, cracked by Dennis

p = print; r = range; one = 1; hundred = 100; i = 'index'  # set up variables 
  
for i in r(one, hundred + one):  # loop over each number in interval [1, 101) ∩ ℤ to print	  	
	if i==hundred:

 	  p(i) 		 
 	else:p(i,end=chr(44)+chr(32))
	

Try it online!

totallyhuman

Posted 2018-02-06T18:55:24.897

Reputation: 15 378

Damn, that's sneaky! +1 – caird coinheringaahing – 2018-02-14T19:51:07.243

To save some TIO computing power: Python 2 complains about 'print' (it's a command, not function); Python 3 complains about inconsistent tab/spaces. – user202729 – 2018-02-15T05:03:22.653

This is Coconut. – Dennis – 2018-02-15T14:30:50.210

@Dennis ...Wait, it works in Coconut? o0 – totallyhuman – 2018-02-15T14:35:19.023

Fictional cookie to anybody who can figure the intended language out. :P – totallyhuman – 2018-02-15T14:39:15.760

That wasn't intended? Yes, all valid Python is valid Coconut and, apparently, Coconut is less picky about indentation. – Dennis – 2018-02-15T14:51:47.890

@Dennis Yeah, the funky whitespace isn't obfuscation. :P It's just a less popular whitespace-based language. – totallyhuman – 2018-02-15T15:38:16.530

3One cookie, please. – Dennis – 2018-02-15T15:56:13.340

4

mmo (MMIX executable), 92 bytes, safe

Hexdump:

00000000: 9809 0100 9801 0001 584b 4344 e355 0064  ........XKCD.U.d
00000010: 3737 3637 e437 2000 af55 ff0b a255 5537  7767.7 ..U...UU7
00000020: 2755 5501 5555 fffe e055 2000 ad55 ff03  'UU.UU...U ..U..
00000030: 0000 0601 0000 0000 980a 00ff 2000 0000  ............ ...
00000040: 3755 5500 980b 0000 204d 2061 2069 246e  7UU..... M a i$n
00000050: 584b 4344 8100 0000 980c 0004            XKCD........

Hexdump (xxd -p):

9809010098010001584b4344e355006437373637e4372000af55ff0ba255
5537275555015555fffee0552000ad55ff030000060100000000980a00ff
2000000037555500980b0000204d20612069246e584b434481000000980c
0004

Output is bare characters to stdout.

I'm surprised no-one got this. I thought the 0x98 characters appearing at five separate positions, all multiples of four, would give it away quickly.

A tetrabyte-by-tetrabyte explanation (including loader instructions):

98090100 lop_pre 1,0         (preamble, mmo v1, 0 tetras)
98010001 lop_loc 0x00,1      (the next tetra says where to load)
58484344 "XKCD"              (because why not?)
E3550064 SETL  $85, 100      (i = 100)
37373637 NEGUI $55, 54, 55   (data = -1)
E4372000 INCH  $55, 0x2000   (data = [instruction segment start - 1])
AF55FF0B STOUI $85, $255, 11 (store 100 to octabyte after M₈[$255]¹)
A2555537 STBU  $85, $85, $55 (data[i] = i)
27555501 SUBUI $85, $85, 1   (i--)
5555FFFE PBPB  $85, @-16     (jump back two instructions if i > 0)
E0552000 SETH  $85, 2000     ($85 = data+1)
AD55FF03 STOI  $85, $255, 3  (store $85 to M₈[$255]¹)
00000601 TRAP  0, 6, 1       (write first 100 data bytes to stdout²)
00000000 TRAP  0, 0, 0       (halt)
980A00FF lop_post 255        (begin postamble, rG = 255)
20000000
37555500                     ($255 = 0x2000000037555500)
980B0000 lop_stab            (begin symbol table)
204D2061
2069246E
584B4344
81000000                     (val["Main"]="XKCD")
980C0004 lop_end 4           (symtab is 16 bytes long)

Footnotes:
1) Octabyte storage disregards the last three bits of the location to store.
2) Syscall 6 is fwrite, which takes as arguments the Z operand for file descriptor (1 is stdout), M₈[$255] as the buffer pointer, and M₈[$255+8] as the buffer length.

I didn't obfuscate this at all, except by arranging for a lot of repeated bytes (all the Us and 7s); I just wrote a simple algorithm and hand-assembled it.

NoLongerBreathedIn

Posted 2018-02-06T18:55:24.897

Reputation: 109

3

ELVM IR, 587 bytes, cracked by Dennis


	.text
main:
	mov D, SP
	add D, -1
	store BP, D
	mov SP, D
	mov BP, SP
	.file 1 "-"
	.loc 1 2 0
	mov A, 1
	mov B, BP
	add B, 2
	store A, B
	.L0:
	mov B, BP
	add B, 2
	load A, B
	mov D, SP
	add D, -1
	store A, D
	mov SP, D
	mov A, 101
	mov B, A
	load A, SP
	add SP, 1
	lt A, B
	jeq .L3, A, 0
	jmp .L4
	.L3:
	jmp .L2
	.L4:
	mov B, BP
	add B, 2
	load A, B
	mov D, SP
	add D, -1
	store A, D
	mov SP, D
	putc A
	add SP, 1
	.L1:
	mov B, BP
	add B, 2
	load A, B
	mov D, SP
	add D, -1
	store A, D
	mov SP, D
	add A, 1
	mov B, BP
	add B, 2
	store A, B
	load A, SP
	add SP, 1
	jmp .L0
	.L2:
	exit

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

2Cracked. – Dennis – 2018-02-07T00:18:19.123

1@Dennis Knew you'd be the one to crack this, nice job – MD XF – 2018-02-07T00:31:01.907

3

Element, 15 bytes, cracked by RIyeh

1 100'[2:`1+a`]

Not too hard.

NoOneIsHere

Posted 2018-02-06T18:55:24.897

Reputation: 1 916

Was this meant to work in Surface? If so, it counts up forever. – MD XF – 2018-02-07T00:32:02.667

@MDXF Nope. 15char – NoOneIsHere – 2018-02-07T00:33:43.890

1Cracked by Rlyeh – NieDzejkob – 2018-02-07T13:53:02.597

Oh hey, it's my language! Also, here's the same thing in only 12 bytes: d,'[1+2:\a`]` – PhiNotPi – 2018-02-11T03:47:20.703

@PhiNotPi oh nice. I'd never used Element, and I just read the dovs. It looks really cool. – NoOneIsHere – 2018-02-11T16:10:54.523

3

Labyrinth, 17 bytes, cracked by totallyhuman

[##!]
[\X_]
@-99@

Try it online!

Output is decimal and linefeed-separated.

Explanation

[] and letters aren't commands in Labyrinth, so they act as walls and they might as well be spaces:

 ##!
 \ _
@-99@

The final @ is also a red herring, because the control flow never gets there. The main program is just the following loop:

#    Push the current stack depth. This is i-1 (where i is the number printed in the
     current iteration).
#    Push the current stack depth. This is i.
!    Print i as a decimal integer.
_99  Push 99.
-    Subtract it from i-1. This gives 0 iff we want to terminate the program. In that
     case the IP moves to the @, otherwise it continues the loop.
\    Print a linefeed.

@ terminates the program.

Martin Ender

Posted 2018-02-06T18:55:24.897

Reputation: 184 808

Cracked. – totallyhuman – 2018-02-06T23:44:09.943

@totallyhuman and now with an explanation of the code, please. ;) (I'll edit the post tomorrow when I'm at a PC again.) – Martin Ender – 2018-02-06T23:57:00.757

Hah, no. I tried three of your languages before I got to this one. Remarkably like Retina (I assume that's what you were going for) though. Maybe I'll go through Labyrinth's docs though. :P – totallyhuman – 2018-02-07T00:00:10.027

3

MY, 4 bytes, cracked by ErikTheOutgolfer

⌶tIv

This is in the Dyalog APL classic codepage, if that's acceptable. APL snippet that can be used as a code page.

Note, the code uses the byte values of characters in its source, not the APL characters.

Output format: Array of integers

Here's the hex if you need it:

0a24 4926

Zacharý

Posted 2018-02-06T18:55:24.897

Reputation: 5 710

2You changed the codepage to mislead us >_> – Erik the Outgolfer – 2018-02-07T10:40:14.190

I did, because if I had it in the original codepage, it'd be too easy – Zacharý – 2018-02-07T11:51:24.323

So is really 0x0a, a newline? – MD XF – 2018-02-08T04:10:41.290

Yes, that is really 0x0a. – Zacharý – 2018-02-08T14:15:52.207

Gotcha. I have to swear it wouldn't have been easy if the language's encoding was used instead of Dyalog's. – Erik the Outgolfer – 2018-02-08T15:52:17.373

I would've stated the encoding, and yes. – Zacharý – 2018-02-08T15:59:11.370

3

MiLambda, 52 bytes, cracked by @ErikTheOutgolfer

v
E
Ξ
ς
v<
E`A:*[>+.<]
υ^
ε
Ξ
ς
v<
Δ
Θ
>σλ

The output format is raw characters.

This is MiLambda, a 2D language where most of the commands are Greek letters. I tried to make the program look non-2D by putting each command on a separate line and deflecting the IP down at the beginning of the program. The loops don't necessarily look like loops (since υ isn't exactly an obvious conditional direction change); this could have been better hidden if I had been able to get vertical conditional directionals to work. To obfuscate it a bit, I just put A:*[>+.<] on one of the lines (A:* looks like something from a stack-based language to compute 100, and [>+.<] looks like a character counting loop in some BF derivative).

Esolanging Fruit

Posted 2018-02-06T18:55:24.897

Reputation: 13 542

cracked – Erik the Outgolfer – 2018-02-07T12:49:57.140

Removing the language name from the title messes up the leaderboard snippet – Jo King – 2018-02-13T07:48:42.070

@JoKing Realized that just after changing all of my answers over :( – Esolanging Fruit – 2018-02-13T07:50:35.193

3

Attache, 58 bytes, cracked by Dom Hastings

??MultivariateHypergeometricDistribution
Map[Print,1..100]

Try it online!

Verbose languages are pretty cool :>

Fortunately, Attache is pretty short

Prints newline-separated list of numbers.

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

Cracked! – Dom Hastings – 2018-02-07T08:37:39.170

3

Brain-Flak (Brainhack), 445 bytes, cracked by Christopher

#begin(
 #import(Integer)
 #import(String)
 #import(STDOUT)
 #define(Name:Main)(In:None)(Out:String,Int)(Mixed:TRUE)(Flags:None)(Requires:"String.format")(Coding:"UTF-8"))
 #begin Main(
  Integer.ranges.from$100.forEach{STDOUT.write(String.format{$0 }.with*$0=Self)(dropWhere{!$0}[ignoreIf:(0)])}
  Except{OutOfBounds}
 )
STDOUT.stream.read.forEach{with*$0=Self(Integer.ranges.from$100.filter(by:{1...101~=$0})[ignoreIf:(0)])}(if!Error){exit$0;}

Output is a space-separated list of integers in decimal.

Mr. Xcoder

Posted 2018-02-06T18:55:24.897

Reputation: 39 774

Hehe i think i know – Christopher – 2018-02-09T18:08:44.817

Cracked (first one I have done!) – Christopher – 2018-02-09T18:10:51.690

3

Prelude, 41 bytes, cracked by Conor O'Brien

for{# [1+1];
64+(1-v(1-)++);
100^x; rev!}

Try it online!

Output as code points.

Martin Ender

Posted 2018-02-06T18:55:24.897

Reputation: 184 808

1Cracked! :D – Conor O'Brien – 2018-02-07T15:51:56.377

3

Eitherfuck, 35 bytes, cracked by Ryleh

#+,<<+-----<-----0+++++[+++++<][+<]

This is definitely Brainfuck. Try it online!

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

It looks like Eitherfuck – Rlyeh – 2018-02-11T16:41:10.557

@Rlyeh Link to crack? – MD XF – 2018-02-11T18:46:49.913

Cracked – Rlyeh – 2018-02-12T04:37:04.563

3

Wise, 41 bytes, cracked by Potato44

   ~-<<:>>-~
||<<<:<:>:>>>||
   |[: ?-~]|

Outputs as decimal numbers.

Wise has only bitwise operators. The executing code is:

~-<<:<<<:<||[:?-~]|

and everything else is decoration or countering the decoration.

~-<<:<<<:<|| Creates the number 100 
[            While the number is not 0
 :?          Dupe and push the copy to the bottom of the stack
 -~          Decrement the number
]|           End the loop and pop the extra 0 by OR'ing it with the 1
             And output implicitly

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

2Cracked. I suddenly realized your answer is Wise when I thought one of the other answers might have been Wise. – Potato44 – 2018-02-09T15:41:30.203

4You might say your answer has been wisecracked....... I'll see myself out. – Silvio Mayolo – 2018-02-09T21:44:33.683

3

23.dezsy, 35 bytes, cracked by totallyhuman

22,1,16,10,10,-1,1,10,2,12,27,0,211

Outputs one number per line.

jimmy23013

Posted 2018-02-06T18:55:24.897

Reputation: 34 042

Prints 01234567891011121314151617181920210012345678910111213141501234567890123456789 in CJam, hope that isn't what you were going for... Edit, does the same thing in Convex. – MD XF – 2018-02-11T02:58:59.477

@MDXF No, it's not CJam or Convex. – jimmy23013 – 2018-02-11T03:22:37.070

This is 23. – totallyhuman – 2018-02-11T23:49:36.953

1@totallyhuman Correct. I thought this is one of the most obscure languages that is eligible and has been used on PPCG. – jimmy23013 – 2018-02-12T05:01:21.260

3

1+, 35 bytes, cracked by Rlyeh

11+""*""*"+""+++1\1<#":1+^"/^"\^<#:

Outputs numbers separated by newlines. This one is probably going to be easy, but I had some fun with it nonetheless.

Explanation time!
11+""*""*"+""+++                 [construct 100] [stack: 2 100]
1\1<                   [push a 1 and create a 0] [stack: 100 1 0]
#   [loop start, 0 required for first iteration] [stack: 100 x]
":                         [duplicate and print]
1+                                   [increment]
^"/^"\^ [duplicate both the counter and the 100] [stack: 100 x 100 x]
<                             [compare x to 100] [stack: 100 x (0 or 1)]
#    [jump back to first label if counter < 100]
:                      [print 100 one last time]

The basic idea for this program was to use a counter starting at 1 which would be printed, incremented and then compared to 100, using 1+'s only built-in comparison operator <, sending program flow either to the first or second #.

In the posted version, the 100 is constructed once (1+, as the name may suggest, only has the constant 1, any other value must be created somehow), then stored below the counter on the stack for the duration of the printing process.
I later (after posting) realized that this was unnecessary, because doing so requires a long sequence of operations; I managed to get it down to 27 bytes by reconstructing the 100 every time (and using a shorter path for constructing it):

111+1<#":1+"11+"1++"+"*^<#:

ivzem

Posted 2018-02-06T18:55:24.897

Reputation: 1 129

1Is the language 1+? – Rlyeh – 2018-02-09T13:38:17.767

@Rlyeh Yes, it was. – ivzem – 2018-02-09T15:09:24.210

It looked like it but I wasn't sure, couldn't find an online interpreter and ended up installing the wrong python. – Rlyeh – 2018-02-09T15:32:57.740

Cracked – Rlyeh – 2018-02-09T15:42:17.870

3

Implicit, 212 bytes, cracked by Dennis

int f(int x_1)
{
    int i, foóßar = 1;
    int *arr = 0x23d3f44e >> 0xa;

    for (i = ']'; 100 % foóßar++, *(arr+i/1234) += ']'; 0-101)
        putchar(&arr[i]);

    return -8;
}

int main(void)
{
    f(42);
}

Obviously this is not C, it's my language. Stripping no-ops gives us this:

intf(intx_1)inti,foóßar=;int*arr=x23d3f44e>>xa;for(i=']';%foóßar++,*(arr+i/1234)+=']';-101)putchar(&

The & ends the program.

All alphabetical characters push their codepage value to the stack. Let's replace every run of alphabetical characters we don't care about with Z.

Z(Z_1)Z,ZóßZ=;Z*Z=Z23Z3Z44Z>>Z;Z(Z=']';%ZóßZ++,*(Z+Z/1234)+=']';-101)Z(&

( starts a loop and ) ends it. The loop continues while the top of stack is nonzero. Pushing an ASCII character and then performing _1 always sets the top of stack to zero, so we can completely ignore the first loop.

Pushng Z and then dividing by 1234 also always results in zero, so we can ignore the inner loop (and all the code inside it) too.

The last loop is only an open-loop and immediately exits, so we can kill that too. Our code thus becomes:

Z,ZóßZ=;Z*Z=Z23Z3Z44Z>>Z;Z(=']';%ZóßZ++,*+=']';-101)Z&

; means 'pop'. If we take out any code that pushes to the stack and then is immediately popped, the code becomes:

Z,óßZ*Z=Z23Z3Z44Z>>Z(=']%ZóßZ++,*+=']-101)Z&
  • The first comma swaps the top two stack values, but there's only one, so we can remove it.
  • The Z23Z3Z44Z>>Z just pushes a ton of Zs to the stack, which are never used, so we might as well just be pushing Z.
  • Most of the mathematical operations are never used, so let's replace those with Z too.
  • ' (read string) is useless because we never provide any input.

Our code golfs down to:

ZóßZ(Z]%ZóßZ]-101)&

Okay, so now we reveal what's really going on.

  • ó is equivalent to ].[ (pull register to stack, increment, push to register).
  • ß is equivalent to @10 (print ASCII 0x10).

Since we pull the register every time we actually care to interact with memory, we can completely ignore everything non-register-related that interacts with the stack when the register isn't the top of stack:

óß(]%óß]-101)&

So, the program increments the register, prints a space, opens a loop, pulls the register, prints it, prints a space, pulls the register, subtracts 101, and loops while register - 101 is nonzero. Then it exits.

:)


Side note: The shortest Implicit program to perform this task would be (;.%ß<100ö.

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

1Cracked. – Dennis – 2018-02-09T05:18:32.920

3

O, 9 bytes, cracked by PhiNotPi

Shouldn't be difficult, not trying to obscure it, so it may work in other than the intended language

['d#,;r]o

Output:

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]

MickyT

Posted 2018-02-06T18:55:24.897

Reputation: 11 735

Cracked. – PhiNotPi – 2018-02-11T03:55:51.607

3

Lily, 27 bytes, cracked by Cowabunghole

for i in 1...100:{print(i)}

Seems simple, but I feel like this is fairly (maybe) obscure. Prove me wrong!

FantaC

Posted 2018-02-06T18:55:24.897

Reputation: 1 425

Cracked – Cowabunghole – 2018-02-09T17:09:42.463

@Cowabung got 'em – FantaC – 2018-02-09T20:10:07.050

3

BitCycle, 140 bytes, safe

exec("""
0v&~2*50
0v~^1|+x
00~110=m
0v~^e:'d
+:(~100)
v[~^aCC]
0}~1{Xv#
v&~^|25~
(v4*25+)
+H-x-_+_
e^2,|b@5
1mXv,100
Y^_~+,h.
n!`"<"`~
""" )

Outputs in unary, with 1 for the numbers and 0 for the separator.

Or, you can add the -u flag to get output in decimal, separated by commas.


Here's the code I started with pre-obfuscation:

     v ~
     v~^
00000 ~
     v~^

    +  ~
    v ~^
00000>~
v   < ~^

    >  v
 v    <
>A\C\ ^
 ^  / @
1BCv
 ^ ~+
 !  <  <

This element:

 v ~
 v~^
> ~
 v~^

is one of the best ways I've found to generate large numbers. It takes one or more zero bits in at the > and sends four times as many zero bits out the bottom v. Here, to get 100 zero bits, I fed five of them into this "quadruplicator," and then fed the output plus five more into a second quadruplicator.

Then the bottom part counts up from 1 to whatever number of zero bits it gets in the A collector. (Detailed explanation available on request.) Once A is empty, a bit hits the @, which halts the program.

For the obfuscated version, I packed everything in a little tighter, replaced the spaces with various no-ops, changed some of > < to } { or + or ~ and \ / to - | (equivalent under certain circumstances) to look less like a 2D language, and finally threw in the exec for good measure.

DLosc

Posted 2018-02-06T18:55:24.897

Reputation: 21 213

3

MashedPotatoes, 641 bytes, safe

synchronized(std::ignore){std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;std::cout<<"Hello,world!"<<std::endl;goto nullptr;WHILE 0.0f>`uniq-c`
s/++i//g
WEND goto __dict__;(format t"goto void(0);WHILE <> <(int)std::ignore
use strict qw/Object/;
WEND goto nullptr;goto __dict__;proc $ARGV{STDERR} {OUTPUT=*read-eval*}")}

Prints 1 to 100 as numbers, separated by newlines. Probably not too difficult but whatever.

I was worried it would be too easy since I used a language of my own design, but I couldn't resist the opportunity to actually use this language for one of the few things it can actually do without being too awful.

Silvio Mayolo

Posted 2018-02-06T18:55:24.897

Reputation: 1 817

2This is the safe answer that uses the most bytes. That makes me the winner, right? – Silvio Mayolo – 2018-02-19T05:28:24.423

Haha, this language is awesome. Perfect for obfuscation challenges (too bad it's kind of a one time thing). – a spaghetto – 2018-02-21T17:06:15.337

3

QuakeC, 144 bytes, cracked by totallyhuman

$flags as spam
void(string s)dprint=#25;string(float f)ftos=#26;void()main={local float j;j=1;while(j<101){dprint(ftos(j));dprint(" ");j=j+1;}};

Outputs decimal numbers, separated by spaces.


As an aside, in QuakeC, built-ins are assigned numerical IDs which you can then forward declare as proper functions in order to use them. #25 and #26 are the IDs used for dprint and ftos in actual Quake, but some less-compliant (but significantly easier to use than booting up a real Quake server) VMs have different IDs.

The $flags as spam is a no-op: $ is deliberately ignored by Quake C compilers, since it's used for pragmas by the modelgen tool.

a spaghetto

Posted 2018-02-06T18:55:24.897

Reputation: 10 647

This is QuakeC. – totallyhuman – 2018-02-11T23:12:30.587

1@totallyhuman Correct. – a spaghetto – 2018-02-11T23:14:26.310

3

><>, 82 bytes, cracked by Jo King

def i = 1 ** (1+0): {if i == 99, $g = ?#: {$d or $n} i -> 98 + 0.0: put i++: loop}

Prints numbers in decimal, separated by carriage returns, including a leading one.

This lasted a long time considering that ><> is my main language to golf in… Ignoring the extra stuff pushed to the stack and the meaningless shuffling, this is how it works:

def i = 1 ** (1+0)   Push 1 (rather circuitously)
:                    Duplicate
{if i == 99, $g      Push 1,0 and get the char at
                        that position (it's "e"=101)
= ?#                 If the thing on the stack equals
                        101, crash the program
: {$d or $n          Print CR then the number
} i -                Increment (by subtracting -1)
> 98 + 0.            Push 17,0 then jump back to that
                        position (the first ":").
0: put i++: loop}    And the fish never reaches here!

Not a tree

Posted 2018-02-06T18:55:24.897

Reputation: 3 106

1This is ><> – Jo King – 2018-02-14T06:44:30.110

3

Java (OpenJDK 8), 166 bytes, cracked by Jo King

/*‮*/ inter\u0066ace S‭{/*//Hello World!‮*/static void main(/**/String[]a‮){for(char b‮=0;b‮++
<10/*‮*/*10;)System\u002e/*‭*/out/*‮*/.print(b‮);}}

‮!ti tnaw uoy erehw ti gnitteg no kcul dooG
‮.TUODTS ot 46x0 ot 10x0 morf sedoc iicsa eht stuptuo tI
‮... sseug ot ysae ytterp eb dluohs sihT

TheNumberOne

Posted 2018-02-06T18:55:24.897

Reputation: 10 855

4hex dump please? I can't even select the code, and when I try to navigate ‮);}} with the arrow keys, it gets stuck in an infinite loop :( – Jo King – 2018-02-12T07:50:36.463

This is Java

– Jo King – 2018-02-12T08:00:01.770

3

Labyrinth, 167 bytes, safe

"What is this code?"
{1 in!1to100{_1()+l-
t}100l=:!(l,e,t,h)=
"enl_"; _1=func e,n:
print1 if+e||n||$0+
"\n"-_f1_="";#eval;
;;;};"\-";# Author:
main;# @HermanLauenstein

Unobufscated code

"
{1
 }100 =:!
    _"; _1
     1   +
     _ 1_=
     "\-
       @

The code works by hiding a loop inside the mess of random characters made to look like some sort of programming language.

Herman L

Posted 2018-02-06T18:55:24.897

Reputation: 3 611

3

Glypho (shorthand), 39 bytes, safe

11+dd*1+*d*d1-+[d1-+>-+o11+dd*1+*d*1+>]

Try it online!

I like using languages that are in plain sight but somehow manage to evade what people think of. That's why every cop of mine is on TIO.

totallyhuman

Posted 2018-02-06T18:55:24.897

Reputation: 15 378

This is safe; please reveal the language! – MD XF – 2018-02-23T01:00:49.077

Aw dangit, I could have easily identified this but I didn't see it in time. – Lynn – 2018-02-23T19:28:28.807

3

CPL, 80 bytes, safe

N(s)=value of§if(s=100)then Join(100,NIL)result is Join(s, N(s+1))§Main()=N(1)

One caveat: The only interpreter for this language I could find has an issue: it only allows programs to be used as libraries providing a set of functions, not as a full program. To make a full program that gives output possible, once you've transpiled this to a Python program, add print(Main()) to the end of the intermediate Python program before running it.

If this makes this answer ineligible, that's fine, I'll mark it as non-competing, but I think it's a fun challenge nonetheless.


The wikipedia page links to this translator into Python: http://norvig.com/sciam/cpl.g

If you dig around on Peter Norvig's site, you can find his full description of the language: http://norvig.com/sciam/sciam.html

isaacg

Posted 2018-02-06T18:55:24.897

Reputation: 39 268

This post is safe now. – user202729 – 2018-03-01T04:15:55.990

2

Deadfish~, 7 bytes, cracked by Uriel

{{iow}}

The output should be this:

1Hello, World!2Hello, World!3Hello, World!4Hello, World!5Hello, World!6Hello, World!7Hello, World!8Hello, World!9Hello, World!10Hello, World!11Hello, World!12Hello, World!13Hello, World!14Hello, World!15Hello, World!16Hello, World!17Hello, World!18Hello, World!19Hello, World!20Hello, World!21Hello, World!22Hello, World!23Hello, World!24Hello, World!25Hello, World!26Hello, World!27Hello, World!28Hello, World!29Hello, World!30Hello, World!31Hello, World!32Hello, World!33Hello, World!34Hello, World!35Hello, World!36Hello, World!37Hello, World!38Hello, World!39Hello, World!40Hello, World!41Hello, World!42Hello, World!43Hello, World!44Hello, World!45Hello, World!46Hello, World!47Hello, World!48Hello, World!49Hello, World!50Hello, World!51Hello, World!52Hello, World!53Hello, World!54Hello, World!55Hello, World!56Hello, World!57Hello, World!58Hello, World!59Hello, World!60Hello, World!61Hello, World!62Hello, World!63Hello, World!64Hello, World!65Hello, World!66Hello, World!67Hello, World!68Hello, World!69Hello, World!70Hello, World!71Hello, World!72Hello, World!73Hello, World!74Hello, World!75Hello, World!76Hello, World!77Hello, World!78Hello, World!79Hello, World!80Hello, World!81Hello, World!82Hello, World!83Hello, World!84Hello, World!85Hello, World!86Hello, World!87Hello, World!88Hello, World!89Hello, World!90Hello, World!91Hello, World!92Hello, World!93Hello, World!94Hello, World!95Hello, World!96Hello, World!97Hello, World!98Hello, World!99Hello, World!100Hello, World!

The OP explicitly allowed this in chat. Pretty trivial, but I wanted to see how the community reacts to such solutions.

Mr. Xcoder

Posted 2018-02-06T18:55:24.897

Reputation: 39 774

Cracked. – Uriel – 2018-02-06T21:18:02.057

2

Locksmith, 492 bytes, cracked by totallyhuman

Perhaps it wasn't too smart to use a language of my own.

I wanted to see if I could secure a victory through obfuscation...

import java.util.Random;
interface Main{
  public	static void  main(String[]args){
for(int	i  	=0; i  <		90*  11; i ++)
System. out.println(i);
f(   	 	7);
g();
}
public static 	int f(int n){System.out.println(n);if(n<=0)return+n&3;
else return f(	n/7)*6	+7*f(n-5)+7;
}
public static void g(){
Random k=new Random(45);
String j="YmlULmxZXERFZmNvbg==";
int m;
for(int i=m=0;i<121;i++){
m+=j.charAt(0)+j.	charAt(i&1)+k.nextInt();
}
System.out.println(k.nextInt((int)Math.pow(7201,19))^6^m);
}
}

Try it online!

Equivalent to:

09011
70
3767
57
4501210
1
7201196

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

Cracked. – totallyhuman – 2018-02-07T00:45:35.290

5I did try Whitespace and other Java versions though. :P Eventually realized you make a ton of esolangs and I've been eyeing Locksmith for a while now... – totallyhuman – 2018-02-07T00:55:36.843

2

Hy, 63 bytes, cracked by Ruslan

(defn !(&optional(> 1))(if(< > 101)(do(print >)(!(inc >)))))(!)

Outputs in decimal, newline-separated.

DLosc

Posted 2018-02-06T18:55:24.897

Reputation: 21 213

If I guess Lisp and am right, does that give me credit for a crack? – Kelly S. French – 2018-02-07T18:25:33.267

@KellyS.French Only if you specify which Lisp interpreter it works in. ;) – DLosc – 2018-02-07T19:25:32.553

1

It's hy. Here's corresponding crack.

– Ruslan – 2018-02-09T18:10:42.613

2

Golunar, 30 bytes, cracked by Jo King

814918243305927192311963944207

This is Golunar. The program is a decimal representation of the number of zeroes in the corresponding Unary program. This translates to the Unary program with 814,918,243,305,927,192,311,963,944,207 zeroes, or to the brainfuck program
++++++++++[->++++++++++<]>[->+.<].

Esolanging Fruit

Posted 2018-02-06T18:55:24.897

Reputation: 13 542

Cracked (I knew someone was going to post a Golunar program) – Jo King – 2018-02-07T06:02:18.017

2

Befunge-93, 97 bytes, cracked by DLosc

Starting off with an easy one.

shovv fRom-0to*1E#' <iostream
?>e[10]++;B:12\;g\=`||(
@. >!1:then.do+^\x61@
:^A&>#+:$#<math>eaa$q

osuka_

Posted 2018-02-06T18:55:24.897

Reputation: 391

4This is Befunge-93. – DLosc – 2018-02-07T23:25:42.127

2

Fantom, 55 bytes, cracked by totallyhuman

unfortunatelly don't have much time to obfuscate this

class A{static Void main(){(1..100).each|x|{echo(x)}}}

user902383

Posted 2018-02-06T18:55:24.897

Reputation: 1 360

This is Fantom. – totallyhuman – 2018-02-08T14:08:10.647

2

PARI/GP, 23 bytes, cracked by DevelopingDeveloper

#for (o=1,100,print(o))

Thought maybe since it was such an uncommon language nobody would know about it :(

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

cracked – DevelopingDeveloper – 2018-02-08T19:27:38.047

2

Cardinal, 47 bytes, cracked by MD XF

{%c++}=t=+~\%c<100;
ADD.+L0|~tt\
\OR;MULTIPLY c

Outputs as decimal numbers separated by newlines, with 2 trailing newlines.


Cardinal spawns pointers in every direction for each %. The main one here is the one going right from the first %c, which sets the inactive value to 100 active value to 0. After that it enters a loop, where it increments, prints the number and a newline, until the number modulo 100 is 0, where it exits. The executing code is:

%c++ =t=+~\
 D.+L0|~tt/
 R;MU

Note that the second %c is necessary, as it is used to flip the \s into the right position.

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

Cracked. – MD XF – 2018-02-11T02:46:39.293

2

Gambas, 98 bytes, cracked by NieDzejkob

Public Sub Main()
Dim num as short
For num = 1 To 100 Step 1
    print num  
Next
End 
'1-100.print

The edit is from when coping over I snipped part of the code off.

Christopher

Posted 2018-02-06T18:55:24.897

Reputation: 3 428

Is the language free? – jimmy23013 – 2018-02-10T06:51:27.210

Cracked? Didn't test, but I am pretty sure I got it right. – Mr. Xcoder – 2018-02-10T10:18:27.943

@Mr.Xcoder not what i used :P – Christopher – 2018-02-10T16:52:09.517

If this is VBA, this answer is invalid. You know that? (can't test it, no windows license nor VM handy) – NieDzejkob – 2018-02-10T17:03:11.197

@NieDzejkob not VBA – Christopher – 2018-02-10T17:08:06.183

Cracked – NieDzejkob – 2018-02-10T17:27:40.447

@nie nice! That is it – Christopher – 2018-02-11T04:13:30.883

2

Ouroboros, 27 bytes, safe

$0$1@l();
($1+JOYjoy$100=_)

Outputs as bytes.


Try it here!

Ouroboros is usually pretty distinctive with constructs like 1( at the ends of lines, so I tried to get creative with the parentheses to disguise it. Also with $ before numbers to make it look vaguely Perl-inspired.

Snake 1

$  Switch to shared stack
0  Push 0
$  Switch back to own stack
1  Push 1
@  Rotate top 3; since there's only one item on the stack, uses two implicit zeros
l  Push length of stack (3)
(  Eat that many characters from the end of the snake

This swallows the IP, and the snake halts.

Snake 2

(   Swallow characters; with an empty stack, swallows 0 characters: no-op
$   Switch to shared stack (on the first iteration, this just had a 0 pushed to it by
    snake 1; on future iterations, it will be the previous number printed)
1   Push 1
+   Add
JO  No-ops
Y   Copy top of shared stack to own stack
j   No-op
o   Output top of current stack (which is the shared stack) as ASCII character
y   Copy top of own stack to shared stack
    We now have a copy of the current number on each stack
$   Switch to own stack
100 Push 100
=   Push 1 if 100 equals current number, 0 otherwise
_   Negate
)   Regurgitate that many characters: if 0, does nothing; if -1, swallows a character

Thus, if the current number is 100, the IP is swallowed and the snake halts; otherwise, control loops back to the beginning of the snake, where we switch back to the shared stack, increment the number there, and so forth.

DLosc

Posted 2018-02-06T18:55:24.897

Reputation: 21 213

2

AsciiDots, 58 bytes, cracked by MD XF

//$#n=100(v.|)
[+]:<>/99#*%2
#~H6+-e>*</xxxx>
(^)>*{L}<d>;

Prints numbers in decimal separated by newlines.

Not a tree

Posted 2018-02-06T18:55:24.897

Reputation: 3 106

Cracked. – MD XF – 2018-02-11T02:20:02.153

2

Macaulay2, 27 bytes, safe

<<stack\\(1..100)/toString;

Prints numbers separated by newlines.

Macaulay2 is a language designed for computations in advanced commutative algebra and algebraic geometry. It has a wikipedia page, it's available for free from its official website, and it fits PPCG's criteria for a programming language. It's widely used in the algebra community, even if no one seems to know about it here…

The stack function was meant as a red herring — it concatenates strings vertically (useful for printing matrices and whatnot with just ASCII), and has nothing to do with stack-based memory.

Not a tree

Posted 2018-02-06T18:55:24.897

Reputation: 3 106

2

Piet, 242 bytes, cracked by Erik the Outgolfer

The code contains a... few unprintable characters, so here's the reversible xxd:

00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
00000010: 0000 000a 0000 000a 0803 0000 01cd eb0f  ................
00000020: 1900 0000 5450 4c54 451e 010e 02cd 0500  ....TPLTE.......
00000030: 212a 0134 3e65 be20 f0c7 0000 0000 0000  !*.4>e. ........
00000040: c080 0000 c000 00ff 0000 c000 c0ff 00ff  ................
00000050: 0080 0000 8080 8080 0000 c000 00c0 c0c0  ................
00000060: c000 00ff 00c0 c0ff 00ff ffff c0c0 ffff  ................
00000070: 00c0 ffc0 c0ff ffff ffff 0000 ffc0 8cf4  ................
00000080: 0b00 0000 5949 4441 5408 d735 ca41 12c2  ....YIDAT..5.A..
00000090: 300c 04c1 3d4d 1283 1209 61e4 90ff ff13  0...=M....a.....
000000a0: 4315 7be8 dac3 a877 9969 5329 63d5 ddd5  C.{....w.iS)c...
000000b0: 5eaa 4535 c22f adc9 30c5 6da1 8bb9 e327  ^.E5./..0.m....'
000000c0: 7fcb a7c6 1bdc 69a6 469c c120 51d2 67f2  ......i.F.. Q.g.
000000d0: a4be c163 de13 43bb 991d 49db f900 2114  ...c..C...I...!.
000000e0: 04cf a503 d231 0000 0000 4945 4e44 ae42  .....1....IEND.B
000000f0: 6082                                     `.

Output format: decimal numbers separated by spaces.

The Piet program was supposed to be a trap, but I forgot to specify the output format. Oh, well...

NieDzejkob

Posted 2018-02-06T18:55:24.897

Reputation: 4 630

cracked – Erik the Outgolfer – 2018-02-11T15:09:24.240

@Erik Uh, I forgot to specify the output format. Reposted. – NieDzejkob – 2018-02-11T15:14:20.187

Oh so you failed to mislead us that way >><_< – Erik the Outgolfer – 2018-02-11T15:17:52.363

@Erik Yes, well said – NieDzejkob – 2018-02-11T15:21:05.717

2

I, 5 bytes, cracked by H.PWiz

1i101

Returns (the only output-form this language supports) a list.

Try it online!

Adám

Posted 2018-02-06T18:55:24.897

Reputation: 37 779

Cracked this is I – H.PWiz – 2018-02-12T02:44:59.497

2

PBASIC (BS2), 20 bytes, safe

Hexdump:

00000000: 1400 6607 3cfd 03fd 6cfd fd66 0621 535a  ..f.<...l..f.!SZ
00000010: fd03 07fd                                ....

Outputs as ASCII bytes to the screen.


This one is a bit of a gray area since the only free "interpreter" I know of is the demo version of Proteus, and it's a little difficult to write directly to the EEPROM in it.

a spaghetto

Posted 2018-02-06T18:55:24.897

Reputation: 10 647

It looks like some form of tokenised BASIC on an 8-bit microcomputer to me. – NieDzejkob – 2018-02-14T16:12:29.203

This is safe; please reveal the language! – MD XF – 2018-02-19T04:10:36.690

@NieDzejkob Your instincts were good. – a spaghetto – 2018-02-19T17:14:03.567

2

Proton 1, 79 bytes, cracked by MD XF

class M{fun main{args:Array<String>}{for(i=0;i<100;){if(i or i==0)print(++i)}}}

Try it Online!

hehe this abuses Proton 1's lenience to undefined variables and placing expressions right next to each other so much. class, M, fun, main, and args are all just seen as (undefined) variables. The {} are all just code-blocks except for {args:Array<String>}, which I think is a dict from None to Array<String>, though I'm not even sure how that doesn't error.

Credit goes to @totallyhuman who also guessed the language; however, because my initial program printed 0..99 instead of 1..100, and both totallyhuman (chat) and MD XF (comment) asked me about that, and I saw the later message first in my inbox, MD XF got it first. Good job to both of them though!

HyperNeutrino

Posted 2018-02-06T18:55:24.897

Reputation: 26 575

If this is supposed to work in Proton, it doesn't print 100. Red herring or bug? – MD XF – 2018-02-13T03:22:43.710

Cracked. – MD XF – 2018-02-13T03:36:20.927

I took totallyhuman's suggestion and I always try user-created languages. You made Proton so I figured I should try it out. – MD XF – 2018-02-13T03:36:41.057

For fairness' sake: https://chat.stackexchange.com/transcript/240?m=42825026#42825026

– H.PWiz – 2018-02-13T03:36:44.263

@MDXF Hm ok good idea :P – HyperNeutrino – 2018-02-13T03:37:51.877

@H.PWiz Thanks for linking the chat message! – HyperNeutrino – 2018-02-13T03:38:04.130

;-; ----------- – totallyhuman – 2018-02-13T10:52:00.153

@totallyhuman lol sorry I saw the comment before the chat message in my inbox :P i'll add a footnote actually – HyperNeutrino – 2018-02-13T13:14:10.503

2

K, 62 bytes, safe

p:{`0:$x} /output
i:1;do[100;p[i];p[:[i<100;","]];i+:1];p@"\n"

I wonder that this one is safe since i didn't really obfuscate the code.

Only the /output is a comment i forgot to delete. :D

Try it online!

I think on tio its not exactly the same language, but it works the same.

Wurlitzer

Posted 2018-02-06T18:55:24.897

Reputation: 99

This is now safe! – Christopher – 2018-02-20T19:24:16.853

2

Felix, 33 bytes, cracked by Esolanging Fruit

for i in 1..100 do println$i;done

Magic Octopus Urn

Posted 2018-02-06T18:55:24.897

Reputation: 19 422

This prints 1 to 100 not 0 to 99, right? – Robert Fraser – 2018-02-13T19:02:04.040

@RobertFraser it printed 0 to 100 before, now it's correct, my bad. – Magic Octopus Urn – 2018-02-13T19:22:03.667

Cracked. – Esolanging Fruit – 2018-02-14T03:18:43.303

2

Groovy, 22 bytes, cracked by Emigna

{(1..'d')*.toString()}

The crack: Try it online!


After lengthy discussion, this would not work as a program, a valid submission would have been:

print (1..'d')*.toString()

Putting this in it's own file, passing it to the groovy interpreter and allowing it to execute will print the numbers 1 to 100 to the user.

Magic Octopus Urn

Posted 2018-02-06T18:55:24.897

Reputation: 19 422

Hint: this time it's not 05AB1E... or isssss it? – Magic Octopus Urn – 2018-02-14T18:45:02.773

This is Groovy. – Emigna – 2018-02-15T12:28:45.437

@Emigna bahhh... I thought adding the wrapper would stop most people from bruting it. Didn't expect people to just, y'know, know it :P. – Magic Octopus Urn – 2018-02-15T13:47:18.237

@Dennis so putting it into a file called a.groovy, without the braces, and calling it from CMD groovy a.groovy is fine, and I can knock off 2 bytes? – Magic Octopus Urn – 2018-02-15T14:21:20.937

@Dennis I guess I need to add a print statement too by that logic? Also I'm deleting above comments after the edit I made, good catch though Dennis. Also, neat trick with the Batch TIO.

– Magic Octopus Urn – 2018-02-15T14:26:45.857

2

ELF (x86/x64, Linux), 383 bytes, safe

0000000: 7f45 4c46 0101 0100 0000 0000 0000 0000  .ELF............
0000010: 0200 0300 0100 0000 b080 0408 2c00 0000  ............,...
0000020: 0000 0000 0000 0000 3400 2000 0100 0000  ........4. .....
0000030: 0000 0000 0080 0408 0080 0408 7f01 0000  ................
0000040: 7f01 0000 0500 0000 0010 0000 31c0 5068  ............1.Ph
0000050: 2a01 0000 b0a2 89e3 89e1 cd80 4074 f583  *...........@t..
0000060: c408 b964 0000 0051 9185 c07d 1450 6a2d  ...d...Q...}.Pj-
0000070: 31db 4389 da89 d8b0 0489 e1cd 8059 58f7  1.C..........YX.
0000080: d831 dbb3 0a53 31d2 f7f3 83c2 3052 09c0  .1...S1.....0R..
0000090: 75f4 89e1 31db 4389 da89 d8b0 04cd 8058  u...1.C........X
00000a0: 3c0a 75ee 5949 83f9 9b75 bce9 ca00 0000  <.u.YI...u......
00000b0: 31c0 b002 cd80 09c0 7592 5958 09c0 75fb  1.......u.YX..u.
00000c0: 31db 31c0 b02d cd80 89c5 ba5f b8f6 ea81  1.1..-....._....
00000d0: f20f f9a2 a231 c949 418b 048c 09c0 0f84  .....1.IA.......
00000e0: 9600 0000 3910 75f0 8078 043d 75ea 8d70  ....9.u..x.=u..p
00000f0: 0556 31db 31c9 ac3c 3a74 0708 c074 0341  .V1.1..<:t...t.A
0000100: ebf4 39d9 0f47 d908 c075 e98d 5c1d 0c31  ..9..G...u..\..1
0000110: c0b0 2dcd 805e 89ef ac3c 3a74 0708 c074  ..-..^...<:t...t
0000120: 03aa ebf4 b874 6447 df35 5b1c 23b8 ab35  .....tdG.5[.#..5
0000130: 0217 1402 ab35 436f 41f3 ab89 e2b8 7a00  .....5CoA.....z.
0000140: 8728 5035 1e38 c15d 5035 0354 6914 5035  .(P5.8.]P5.Ti.P5
0000150: 0003 404f 5035 1455 4001 5035 1b4e 5b5f  ..@OP5.U@.P5.N[_
0000160: 5089 e331 c050 5355 89e1 89eb b00b cd80  P..1.PSU........
0000170: 89d4 8a46 ff08 c056 759b 31c0 40cd 80    ...F...Vu.1.@..

I think you can see that I like hiding my programs in binary files. Output format: decimal numbers. Oh, and to save CPU time on TIO: the obvious "language" timeouts.


... since this was explicitly designed so that it does not work on TIO - the numbers are printed after waiting 4 minutes and 58 seconds, as per

The program must terminate within 5 minutes on a typical desktop PC.

The separator used is 0A 2D, or


-

If using integers, you should output with a constant non-digit delimiter between each number.

Outputs 295 leading bytes, and a single trailing one. Much less than a thousand (evil laugh).

You may also output with leading and trailing characters [...] but please be sensible (don't output a thousand bytes of rubbish either side of the count for instance).

Also, try running it on a desktop computer. You won't regret. I promise.

NieDzejkob

Posted 2018-02-06T18:55:24.897

Reputation: 4 630

2The funny part is that I ran this, but discarded the solution because of the garbage output. – Dennis – 2018-02-24T20:54:16.853

2

Hexagony (Esoteric IDE), 506 bytes, safe

Base64:

4p2iI3sqJkp6SCpSc2FwTippXiFmIVlT4pyG4p2z4p6LaCrinrMhJkDinaFWU1Xi
nINk4p6fJOKem2jinoo+4p6P4p224p6H4p2uKuKctl5e4p2gXmYo4pyM4pySQEAk
4p6YS0khJeKcseKdp+KcsCrinIVeV+Kdgihe4p2jKOKerWRGc+KcnkFAS+Kcrngp
VOKcnOKcgUVRJAoKdmFyaT0iIjEwMApwcmludCgKaWYgPiAwCSAKICh7e0VOUDA7
CiAiKSEiCiBnb3RvIHByaW50KApyYW5nZSgxMDApCikKIH19KQoKQE92ZXJyaWRl
CnB1YmxpYyBib29sZWFuIGVxdWFscygpIHsgICAvKiBmb3IoaT0wO2k8MTAwOysr
aSlTeXN0ZW0ub3V0LnByaW50KGkpOyAqLyAgIHJldHVybiAxPjA7fSAJICAJIAkJ
CgojUHl0aG9uCgogICAgcHJpbnQgICggICcJJyAgLiAjIGEgcsinbidkJ+G7jMK1
IGNv4bmDbcSXxp10CiAgICBqb2luKHN0cihpKzEpIGZvciBpIGluIHJhbmdlKDEw
MCkpKQoKfSB2YXIgaTp3b3JkOyBiZWdpbiBmb3IgaSA6PSAxIHRvIDEwMCBkbyB3
cml0ZShpLCAnICcpOyBlbmQuCi8vIFsuK10=

Exact output content:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

(with a leading space, without any trailing whitespace, numbers separated with spaces)

Try it online!


But... it doesn't look like Hexagony!

Timwi added a secret debugging feature to Esoteric IDE, in this commit. Specifically, if a appears at the first of the program, the source code is treated as linear, using if > 0 and goto for control flow.

However, I can't find Timwi talking about it anywhere.

No related search result... so I guess this must be safe. Personally, I was very surprised, and could only know that while reading the Esoteric IDE source code (and I can't understand why the Hexagony interpreter need the character and ) (after I have written LinearHexagony for the same purpose) (my version is sonewhat better, as it has support for multiple IPs, but unfortunately doesn't support if, only conditional goto).


So, if the source code starts with a , then

  • A line if > 0 will be treated as conditional command. Use indentation similar to Python to specify code blocks.
  • A line starts with goto ... well, goto a label.
  • A line that is equal to the target of some goto is considered a label.

In this code, I used print( as the label name.


Yes, Esoteric IDE normally only run on Windows, which is not free. However


And... some details about why I deleted my previous answer. It outputs character codes from 1 to 100, and it was supposed to be valid. However, on line 423 of Mainform.cs,

txtOutput.Text = _env.Output.UnifyLineEndings();

On Windows, it modifies the value of CR (13) to LF (10). That is... wrong.

On an unrelated note, I manually replaced all CRLF in the source code to LF to prevent people guessing it's on Windows.


Esoteric IDE was linked on Esolangs wiki page.

user202729

Posted 2018-02-06T18:55:24.897

Reputation: 14 620

1

dc, 17 bytes, cracked by totallyhuman

0[1+pd100>a]salax

Have fun. It won't be too hard to solve, I have a more intresting one coming soon.

moonheart08

Posted 2018-02-06T18:55:24.897

Reputation: 693

Cracked. – totallyhuman – 2018-02-06T20:11:18.633

Heh, knew it would be a quick crack. – moonheart08 – 2018-02-06T20:12:17.423

1

Foo, 9 bytes, cracked by MD XF

(100+1$c)

Another easy one.

NoOneIsHere

Posted 2018-02-06T18:55:24.897

Reputation: 1 916

Cracked. – MD XF – 2018-02-07T00:19:52.710

1

Java, 600 bytes, cracked by totallyhuman

\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0058\u0020\u007b\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0076\u006f\u0069\u0064\u0020\u006d\u0061\u0069\u006e\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u005b\u005d\u0061\u0029\u007b\u0066\u006f\u0072\u0028\u0069\u006e\u0074\u0020\u0069\u003d\u0031\u003b\u0069\u003c\u003d\u0031\u0030\u0030\u003b\u0069\u002b\u002b\u0029\u007b\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0069\u0029\u003b\u007d\u007d\u007d

Outputs decimals.

wvdz

Posted 2018-02-06T18:55:24.897

Reputation: 217

Cracked. – totallyhuman – 2018-02-06T23:07:56.870

1

Gopher, 217 bytes, cracked by MD XF

'&^<'?×++<%@-<!÷-<'&^<.!<'?^×-<%!÷--<?^×++<++<%!÷<?×<+<&?^++<%!@-<&××-<.@÷+<'&^<.@÷÷+<×<÷-<'×-<?^×+<.!<++<<<'?××-<!÷--<%!÷<?+<&?^+<#÷-<'^×++<×+<÷--<×+<.@÷÷+<÷--<--<++<××-<<-<^+<-<<÷÷+<=

Output is a series of space-separated numbers.

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

Cracked – MD XF – 2018-02-08T04:09:16.097

1

Fortress, 72 bytes, cracked by moonheart08

export Executable
run(args) = do
for i<-seq(1#100) do
println(i)
end
end

Links: Specification, Direct download of version 0.1 alpha.

Zacharý

Posted 2018-02-06T18:55:24.897

Reputation: 5 710

Cracked – moonheart08 – 2018-02-07T02:57:56.917

1@moonheart08 That's a link to this answer :) – Conor O'Brien – 2018-02-07T02:58:23.300

Wrong link, @moonheart08 – Zacharý – 2018-02-07T02:58:33.597

whoops! Real link – moonheart08 – 2018-02-07T03:00:59.287

1

0815, 21 bytes, cracked by MD XF

}:S:<:1:+$~<:64:-^:S:

Output is raw bytes.

Erik the Outgolfer

Posted 2018-02-06T18:55:24.897

Reputation: 38 134

Cracked – MD XF – 2018-02-08T04:24:32.703

1

Triangular, 31 bytes, cracked by MD XF

Should be quite easy

,i#%)`A;A^A@&NN*L!o|_\Om;;-?!>/

Newline separated integers

Stripped of all the unnecessary characters and formatted it looks like the following:

        , 
       i # 
      % . ` 
     A . A . 
    A . & . . 
   * . ! . . .
  \ . m . . . .
 . > / . . . . .

It goes around this loop of characters in an anti clockwise direction. Redirect SW, increment the stack, output the number, push 10 twice and multiple for 100, redirect around (3 steps), mod, skip the next command (exit) if not 0, push 10 (newline), output the character and start loop again.

Of course this could be golfed down quite a bit.

MickyT

Posted 2018-02-06T18:55:24.897

Reputation: 11 735

Cracked. Were all the no-ops intentional? – MD XF – 2018-02-08T02:45:09.133

@MDXF Thanks for the edit and yes the no-ops where intentional. – MickyT – 2018-02-08T08:33:57.967

1

PowerShell, 24 bytes, cracked in like 30 seconds by totallyhuman

("v"|% le*)`
..(""+,1e2)

Output is newline-separated.

AdmBorkBork

Posted 2018-02-06T18:55:24.897

Reputation: 41 581

2This is Powershell. – totallyhuman – 2018-02-07T20:48:43.740

1

Perl 5, 139 bytes, cracked by totallyhuman

$,=$
";*a&*z;*aa&*az;*ba&*bz;*ca&*cv;s;;
$.++;e##cv]
      ;;;   print++$
      _..          $
=*
5/3   ;;;
6/4   ;;;
7/5   ;;;
8/6   ==*cv

Outputs decimal integers, space separated.

msh210

Posted 2018-02-06T18:55:24.897

Reputation: 3 094

This is Perl 5. – totallyhuman – 2018-02-08T00:11:36.790

1@totallyhuman, well, it was fun while it lasted. I almost managed to take a whole breath. :-) – msh210 – 2018-02-08T00:13:07.513

1

Self-modifying Brainfuck, 37 bytes, cracked by Nitrodon

v<[-=0lfn_v#:-d<]
<[/_>]/@-0>_?!:^"d.

Outputs the ASCII code points 1 through 100.


The executing code is:

<[--d<]/_>]/@-0>_

Try it online!

The first section <[--<] decrements every character from the end by 2, until it reaches the last character of the loop, turning it into a [. The code then looks like:

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

The [-] resets the < and the second part uses the d as a loop counter to print out the first 100 ASCII code points.

Jo King

Posted 2018-02-06T18:55:24.897

Reputation: 38 234

Cracked. – Nitrodon – 2018-02-09T02:00:58.987

1

Python 3, 133 bytes, cracked by totallyhuman

#import<stdio>
1//1;f=__import__;
2//1;String=str
0//1;i = 1;
while(i<101):#{
    f("sys").stdout.write(String(i)+" ");
    i+=1;
#}

Might be a bit obvious but, it can also be very confusing.

EDIT: I hoped I could confuse you more with this, but totallyhuman cracked it. By the way: This was my inspiration: https://www.python.org/doc/humor/#python-block-delimited-notation-parsing-explained

MEE - Reinstate Monica

Posted 2018-02-06T18:55:24.897

Reputation: 163

1This is Python 3. – totallyhuman – 2018-02-08T09:13:59.930

1

05AB1E, 106 bytes, cracked by totallyhuman

TnL,q,a,b,c,d,I,t=input();v=c;u=b*c*TnL
exec"if v>=30:v=c;u+=d\nv=v*v/25+6*v+140-u+I;u+=a*(b*v-u);print v\n"*t

Outputs as an array of integers from 1 to 100.


TnL,q prints [1, ..., 100] then immediately exits due to q, all other junk is ignored.

Magic Octopus Urn

Posted 2018-02-06T18:55:24.897

Reputation: 19 422

This is 05AB1E. – totallyhuman – 2018-02-08T15:26:31.603

@totallyhuman incorrect! It's OBVIOUSLY python, or whatever answer I stole the filler from. – Magic Octopus Urn – 2018-02-08T15:41:12.537

1

FALSE, 26 bytes, cracked by Rlyeh

1a:[a;101-][a;.a;1+a:" "]#

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

Is this some dialect of REBOL or something? – Esolanging Fruit – 2018-02-09T07:07:31.897

Is it False? chr – Rlyeh – 2018-02-09T07:09:57.203

Link to Ryleh’s cracked post – Jo King – 2018-02-09T07:53:58.880

1

Brain-Flak, 664 bytes, cracked by Mr. Xcoder

for(each num in #1/#100)
(
    do #pointOfNum(num)
Push (#pointer@#num)
if(result(pointer@(num/pointOfNum(run2)+#diff)))
while(each num of pointer@num)
do
(ITS GO TIME!)
DO THE MATH
)
def fun add{
while add #(point@100)
})
def {
do@#point()
})
open{ref}add(42))
do
{SAY IT TO THE NAND})
{
push why1998@point
})
if(output!ready
(push@#out
{buy})
onGler<@spoin>
pushet)
<Divmod@point@uf2X3>
discov def n{
<div@23>
point@(4524#f34)
(@#do(@3h)
{point*723
numdif}
)#huCX5DBP^h~0_GG1<h32X542P[18F18h42X%AAP[h!.X%OOS`M a@<euws
[give@point
(for@point13)])
div<pointmod>
divide((42/9
{
over@point27
})
[pointto(27)]
giv@12)}
div<mod>
def run{
pointOfnum
fun@#(23)
why1998
}

Took under a minute :|

Christopher

Posted 2018-02-06T18:55:24.897

Reputation: 3 428

This is brain-flak. – James – 2018-02-08T18:56:14.520

@DJMcMayhem wth – Christopher – 2018-02-08T18:56:40.640

Cracked. – Mr. Xcoder – 2018-02-08T18:57:13.617

Too many balanced brackets = very suspicious – Jo King – 2018-02-08T19:02:09.583

@JoKing I also use brain-flak a decent amount – Christopher – 2018-02-08T19:11:29.327

1

Quartic, 78 bytes, cracked by Esolanging Fruit

Gotta love google

decl	a,z,e
set	a,1
set	z,1
loop	z
print	a
cmp	e,a,'d'
if	e
dec	z
end
inc	a
end

Now for something a bit longer. Output is character codes.

Conor O'Brien

Posted 2018-02-06T18:55:24.897

Reputation: 36 228

Cracked? – Esolanging Fruit – 2018-02-09T07:18:54.033

1

2sable, 353 bytes, cracked by MD XF

$ 123
@(%
#ZZ
&^0
*i*j F=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101
$ 123
@(%
#ZZ
&^0
*i*j

Output is separated by new lines.

Came across this by accident trying to crack someone else's answer. Hopefully it is disguised enough... Good luck!

DevelopingDeveloper

Posted 2018-02-06T18:55:24.897

Reputation: 1 415

1Haha I thought that looked familiar at first – dylnan – 2018-02-08T20:59:53.513

@dylnan I coudln't crack yours (Yet!!), but I saw some cool looking output on a language I thought yours was and played with it a little more until it gave me the output I wanted! – DevelopingDeveloper – 2018-02-08T21:02:02.417

3Which language? (jk) – dylnan – 2018-02-08T21:07:00.063

1Are all the leading spaces intentional? – MD XF – 2018-02-09T04:50:00.677

Fixed, thanks for the catch @MDXF – DevelopingDeveloper – 2018-02-09T15:02:55.943

1Cracked. – MD XF – 2018-02-10T20:40:13.003

1

Attache, 40 bytes, cracked by totallyhuman

Define[$main,{Print[Range[1,100]]}]
main[]

Output, minus a trailing newline:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

Note that this doesn't work in Mathematica, as it uses braces.

Rɪᴋᴇʀ

Posted 2018-02-06T18:55:24.897

Reputation: 7 410

This has an extra 0 :) – Conor O'Brien – 2018-02-08T20:53:51.750

@ConorO'Brien fixed. – Rɪᴋᴇʀ – 2018-02-08T21:06:26.293

This is ah-tahsh. – totallyhuman – 2018-02-08T21:10:47.990

1

><>, 31 bytes, cracked by jimmy23013

0>1+:aa*1+=?;:\
 ^       o"|"n/

Output looks like:

1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99|100|

Wurlitzer

Posted 2018-02-06T18:55:24.897

Reputation: 99

Cracked. – jimmy23013 – 2018-02-09T14:46:07.480

2This was an obvious one... – NieDzejkob – 2018-02-09T14:48:15.160

1

Golfscript, 55 bytes, cracked by Dennis

2.upto(100){|i| p i}; printf RUBY_VERSION, $$ > 0; p $_

Outputs [1 2 3 … 100].

Lynn

Posted 2018-02-06T18:55:24.897

Reputation: 55 648

Cracked. – Dennis – 2018-02-09T17:04:52.933

1

Triangular, 40 bytes, cracked by totallyhuman

1%P
*>\
A+.A
@~~.@A)][(An!!?_
`*/-S+1%U<

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is Triangular. – totallyhuman – 2018-02-09T20:52:11.287

1@totallyhuman come onnnnnnnnn – MD XF – 2018-02-09T21:13:13.293

1

Pushy, 24 bytes, cracked by MD XF

Ł1ɊHǙ:Ȱ#Ĭhȅȡ;œœ

Have fun!

FantaC

Posted 2018-02-06T18:55:24.897

Reputation: 1 425

Which encoding is this in? – Potato44 – 2018-02-09T21:15:24.320

Can you post a reversible xxd? – MD XF – 2018-02-09T21:16:08.300

I have no idea how to do that, can you explain? – FantaC – 2018-02-09T21:31:47.223

windows bro, and utf-8 – FantaC – 2018-02-10T02:19:39.280

2This is 24 bytes in UTF-8. – totallyhuman – 2018-02-10T02:27:51.227

1Cracked. – MD XF – 2018-02-10T03:29:23.197

@MDXF Good job! – FantaC – 2018-02-10T19:30:03.027

Was surprised to see someone using my language... :) – FlipTack – 2018-02-12T19:24:26.623

yeah I like languages like this @FlipTack – FantaC – 2018-02-12T20:09:51.563

1

Add++, 83 bytes, cracked by totallyhuman

DECLARE -> (A, B) => g [1, 2] , 100 () - () 100 V From 1 (#) RAN pop => GRAVREL & G

Outputs as a list with , separating the numbers.

caird coinheringaahing

Posted 2018-02-06T18:55:24.897

Reputation: 13 702

This is Add++. – totallyhuman – 2018-02-10T01:16:04.833

1

Crayon, 10 bytes, cracked by MD XF

100O)q"q"q

Outputs numbers separated by q and ends with q, i.e.:

1q2q3q4q5q6q7q8q9q10q11q12q13q14q15q16q17q18q19q20q21q22q23q24q25q26q27q28q29q30q31q32q33q34q35q36q37q38q39q40q41q42q43q44q45q46q47q48q49q50q51q52q53q54q55q56q57q58q59q60q61q62q63q64q65q66q67q68q69q70q71q72q73q74q75q76q77q78q79q80q81q82q83q84q85q86q87q88q89q90q91q92q93q94q95q96q97q98q99q100q

100 puts 100 on the stack, and O iterates over the numbers 0..(100-1). Then for each number, ) increments the number, q prints it, "q" puts the string literal q on the stack, and q prints that.

boboquack

Posted 2018-02-06T18:55:24.897

Reputation: 2 017

1Cracked. – MD XF – 2018-02-11T02:17:52.400

@MDXF How did you come about Crayon (which was the intended language)? – boboquack – 2018-02-11T04:17:45.573

I've messed around with ETH's languages before (never solved challenges in this one though) – MD XF – 2018-02-11T04:22:00.077

1

Pyke, 9 bytes, cracked by Erik the Outgolfer

~th5@.oLh

The expected output is this:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

Mr. Xcoder

Posted 2018-02-06T18:55:24.897

Reputation: 39 774

cracked – Erik the Outgolfer – 2018-02-11T15:13:53.617

1

Aceto, 17 bytes, cracked by MickyT

O
nX`m
pd2F
d9
II

Output format: integers, newline-seperated.

L3viathan

Posted 2018-02-06T18:55:24.897

Reputation: 3 151

cracked? – MickyT – 2018-02-11T21:24:32.843

@MickyT sadly yes :( – L3viathan – 2018-02-11T21:27:22.103

1

Coconut, 190 bytes, cracked by quartata

main :: RunIO
main = print (list (range (1, 101)))

list :: Fn ((Range, Int) -> (List, Int))
list = xs -> List.fromObj (xs)

range :: Fn ((Pair, Int) -> (Range, Int))
range = (x,y) -> {x..y}

Try it online!

Coconut extents Python by syntactical constructs for functional programming.

main = print (list (range (1, 101))) is the only line that is actually doing something, though a more idiomatic way would be (1,101) |*> range |> list |> print.

The lines with :: should be reminiscent of Haskell's type annotations, but Coconut is actually dynamically typed and :: is its chain operator which works lazily, which is probably the reason why those nonsensical declarations do not throw an error.

I also wanted to create the impression that functions can be used before their definition appears in the code, but actually Coconut is interpreted sequentially and list and range are build-in functions which work fine in the second line, but are redefined to nonsensical functions afterwards.

Calling list after the redefinition produces a NameError: name 'List' is not defined, because there is no function List.fromObj.

Calling the redefined range with two numbers, e.g. range(1,101) returns a singleton set which contains a function object, because the .. operator is used for function composition. This does not cause an error yet, but trying to evaluate this composed function of course throws a TypeError: 'int' object is not callable.

Laikoni

Posted 2018-02-06T18:55:24.897

Reputation: 23 676

1Cracked. – a spaghetto – 2018-02-11T21:28:43.510

@quartata That was quick. What gave it away? – Laikoni – 2018-02-11T22:07:04.580

1print(list(range(1,101)), despite your attempts at spacing it to make it look more Lisp-like, is just too damn Pythonic. – a spaghetto – 2018-02-11T22:07:32.620

Couldn't you have just done {1..101} instead of using range? – Esolanging Fruit – 2018-02-14T03:31:22.760

@EsolangingFruit {1..101} is not actually a range expression. The .. operator is used for function composition. The code only works because it is executed sequentially, that is in the main part the build-in range function is used, before it is redefined to nonsense on the last line. – Laikoni – 2018-02-14T09:53:09.720

@Laikoni So {1..101} is just nonsense? – Esolanging Fruit – 2018-02-14T15:11:44.993

@EsolangingFruit Pretty much. It is a singleton set containing a function which throws a TypeError: 'int' object is not callable when called, that's probably as nonsensical as it gets while being syntactically valid. – Laikoni – 2018-02-14T15:25:45.413

1

SIL, 38 bytes, cracked by Conor O' Brien

Output as integers separated by newline

a=100
lbla
i+1
printInt i
b=a-i
if b a

Rohan Jhunjhunwala

Posted 2018-02-06T18:55:24.897

Reputation: 2 569

Cracked – Conor O'Brien – 2018-02-11T22:01:42.463

I knew it wouldn't last. I thought I'd last more than a minute though @ConorO'Brien – Rohan Jhunjhunwala – 2018-02-11T22:02:09.917

I think the way you formatted your answer broke the snippet – Conor O'Brien – 2018-02-11T22:04:39.080

@ConorO'Brien did I add some strange whitespace or something when formatting it? I meant to just paste from my TIO I had whipped it up in. – Rohan Jhunjhunwala – 2018-02-11T22:07:01.757

I think it might be the header format? [cracked](link) by [user](link) is how most answers do it. I guess the snippet is a bit finicky – Conor O'Brien – 2018-02-11T22:08:09.887

@ConorO'Brien did that fix it? – Rohan Jhunjhunwala – 2018-02-11T22:09:22.150

Let us continue this discussion in chat.

– Rohan Jhunjhunwala – 2018-02-11T22:10:11.137

1

Fission 2, 21 bytes, cracked by totallyhuman

I[!$Z;R'd@
)Md`S,.=+-

Output is ASCII 1-100.

Equivalent without unnecessary code:

R'd@I[!$Z;
  +  M  S

dylnan

Posted 2018-02-06T18:55:24.897

Reputation: 4 993

2This is Fission 2. That R... – totallyhuman – 2018-02-11T23:56:09.637

@totallyhuman haha too fast – dylnan – 2018-02-12T00:08:17.267

1

LOLCODE, 118 bytes, cracked by jimmy23013

Probably way too easy, but it's funny. :D

HAI 1.3
IM IN YR loop UPPIN YR var TIL BOTH SAEM var AN 101
    VISIBLE SMOOSH var AN "," MKAY! 
IM OUTTA YR loop
KTHXBYE

Wurlitzer

Posted 2018-02-06T18:55:24.897

Reputation: 99

1Yes, way too easy. – jimmy23013 – 2018-02-12T08:42:39.283

Damnit, a minute too late – Jo King – 2018-02-12T08:44:03.233

Lasted longer than my last submission :) – Wurlitzer – 2018-02-12T08:58:04.177

1Tip: You should try obfuscating your code, rather than golfing it – Jo King – 2018-02-12T09:13:51.890

1

PowerShell, 53 bytes, cracked by totallyhuman

${-}=${-}-band0;while("${-}".length-le2){${-}++;${-}}

Outputs numbers in decimal starting at 1, ending at 100 - one per line

Iain

Posted 2018-02-06T18:55:24.897

Reputation: 11

This is PowerShell. – totallyhuman – 2018-02-13T10:48:42.343

1

PHP, 2009 bytes, cracked by totallyhuman

'.
Puck, a day.
Page,.
Act I:.
Scene I:.
[Enter Puck and Page]
Puck:
You are the sum of a bold cute fair fine good rich warm joy and the sum of a bad fat bad fat bad hog and the sum of a fine warm day and joy.                                                                        '; $_ = str_split('
Page:                                                                                              '                                                                                                                );                                                                                                                                                                    array_walk/*
Open thy heart! You are the sum of thyself and a day!
Puck:                                                                                                                                                                                                               */($_,function($_/*
Are you nicer than me?                                                                                                                                                                                                                                                                                                                                                                    */, $_i/*
Page:                                                                                                                                                                                                               */) {print 1+                                                                                                                                                         $_i;/*
If so, let us proceed to Act I.
[Exeunt]                                                                                                                                                                                                            */print' ';});

Outputs numbers as integers from 1 to 100, separated by spaces.

chocochaos

Posted 2018-02-06T18:55:24.897

Reputation: 547

I think this is intended to be PHP, but it is missing a starting <?php tag. – totallyhuman – 2018-02-13T11:38:24.537

The opening tag is not required for code golf, as it can also be run using php -r, in which case an opening tagbis not required. But yes, you are correct :) – chocochaos – 2018-02-13T11:42:03.450

1

In that case, this is PHP.

– totallyhuman – 2018-02-13T11:44:48.877

@chocochaos From the rules: Flags may be used, but you must reveal what flags are used in your answer. If you used -r, you needed to specify that. – Mego – 2018-02-13T13:35:22.000

1

Julia, 53 bytes, cracked by Giuseppe

Not even my Ruby polyglot could disguise my language of choice.

i=[1,2][1]
while i<=100
print(i)
print("\n")
i+=1
end

gggg

Posted 2018-02-06T18:55:24.897

Reputation: 1 715

I've only ever seen you submit answers in Julia, and it looks like it works

– Giuseppe – 2018-02-13T17:34:16.613

cracked here – Giuseppe – 2018-02-13T17:35:07.903

I figured that would be the case, faster than i I expected though. – gggg – 2018-02-13T17:35:15.743

1

C + ecpp, 196 bytes, cracked by Dennis

#rule control_flow foreach
#rule control_flow in
#def `foreach a in b..c:` for (int a = b; a <= c; a++)

int main(void)
{
    int a = 1, b = 100;
    foreach i in a..b:
        printf("%d ", i);
}

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is ecpp + C. – Dennis – 2018-02-15T04:32:48.407

1

Stuck, 55 bytes, safe

HEX:
22 78 c3 9a c3 8b 48 c3 8c 48 c3 b4 c3 8b 2f 48 05 20 0e 0e 03 25 22 44 67 79 0a
22 65 4e 71 4c 63 72 53 31 42 51 41 43 35 67 45 57 22 42 44 42 63 5d 52 22 20 22 6a

CODE:
"xÚËHÌHôË/H %"Dgy
"eNqLcrS1BQAC5gEW"BDBc]R" "j

I think this will be pretty easy for you guys. Cheers! :)

abybaddi009

Posted 2018-02-06T18:55:24.897

Reputation: 151

You did it. Reveal the language to be safe. – NieDzejkob – 2018-02-24T11:17:04.517

1

Pyt, 170 bytes, cracked by Dennis

3112211411100*11v
_*ŕ2vthesĨngulařity [[]((<>))] 
   4  /...psh...cřackle...fĨžz....pop24
is.../
    /coming to eaŕth
the ŕobots aŕe going to get you...
  /ĉ52*²
řun fas⊤

Try it online!

FantaC

Posted 2018-02-06T18:55:24.897

Reputation: 1 425

3This is Pyt. – Dennis – 2018-02-17T23:47:02.210

1

MIX self-loading executable, 136 bytes, safe

 O O6 A O4 D B= X BC K B1=C B= S 6C O -1 U -1 A XI*=Z4   AB=AC+AE XAE3 XAZ1  AAG
 K B2 J I9 XAE3  AXG AAJG J XI XAR7  AMG K B4 S D9 W R4 VKBE

Outputs numbers left-padded to three digits, two spaces preceding each number, and a line break after every 14 numbers.

The biggest clue here, I think, is that if you look at every character in a column divisible by five, all but three of them are spaces (and the other three do not affect the operation of the program). It doesn't hurt that the format described uses five bytes for each number, with the exception of line breaks; and the arbitrary positioning of the line breaks might have hinted at a record-oriented language. This was obfuscated only by (a) keeping all used bytes in the range 0-48 and avoiding 10, 20, and 21 (which are Θ, Φ, and Π, respectively, though they are usually mapped to other ASCII characters by implementations), so it could be read by a MIX-standard card reader, and (b) selecting bytes whose values were arbitrary to look interesting. The code decodes to:

| Loc | Chars   |  1 |  2 |  3 |  4 |  5 | Instruction      |
|-----|---------|----|----|----|----|----|------------------|
|   0 | " O O6" |  0 | 16 |  0 | 16 | 36 | IN   16(16)      |
|   1 | " A O4" |  0 |  1 |  0 | 16 | 34 | JBUS 1(16)       |
|   2 | " D B=" |  0 |  4 |  0 |  2 | 48 | ENTA 4           |
|   3 | " X BC" |  0 | 27 |  0 |  2 |  3 | MUL  27(0:2)     |
|   4 | " K B1" |  0 | 12 |  0 |  2 | 31 | STX  12(0:2)     |
|   5 | "=C B=" | 48 |  3 |  0 |  2 | 48 | ENTA 3075        |
|   6 | " S 6C" |  0 | 22 |  0 | 36 |  3 | MUL  22(4:4)     |
|   7 | " O -1" |  0 | 16 |  0 | 45 | 31 | STX  16(5:5)     |
|   8 | " U -1" |  0 | 24 |  0 | 45 | 31 | STX  24(5:5)     |
|   9 | " A QI" |  0 |  1 |  0 | 18 |  9 | LD1  1(2:2)      |
|  10 | "*=Z4 " | 46 | 48 | 29 | 34 |  0 | NOP  2992,29(34) |
|  11 | "  AB=" |  0 |  0 |  1 |  2 | 48 | ENTA 0,1         |
|  12 | "AC+AE" |  1 |  3 | 44 |  1 |  5 | CHAR 67,44       |
|  13 | " XAE3" |  0 | 27 |  1 |  5 | 33 | STZ  27,1(0:5)   |
|  14 | " XAZ1" |  0 | 27 |  1 | 29 | 31 | STX  27,1(3:5)   |
|  15 | "  AAG" |  0 |  0 |  1 |  1 |  7 | MOVE 0,1(1)      |
|  16 | " K B2" |  0 | 12 |  0 |  2 | 32 | STJ  12(0:2)     |
|  17 | " J I9" |  0 | 11 |  0 |  9 | 39 | JLE  11          |
|  18 | " XAE3" |  0 | 27 |  1 |  5 | 33 | STZ  27,1(0:5)   |
|  19 | "  AXG" |  0 |  0 |  1 | 27 |  7 | MOVE 0,1(27)     |
|  20 | " AAJG" |  0 |  1 |  1 | 11 |  7 | MOVE 1,1(11)     |
|  21 | " J XI" |  0 | 11 |  0 | 27 |  9 | LD1  11(3:3)     |
|  22 | " XAR7" |  0 | 27 |  1 | 19 | 37 | OUT  27,1(19)    |
|  23 | "  AMG" |  0 |  0 |  1 | 14 |  7 | MOVE 0,1(14)     |
|  24 | " K B4" |  0 | 12 |  0 |  3 | 34 | JBUS 12(2)       |
|  25 | " S D9" |  0 | 22 |  0 |  4 | 39 | JL   22          |
|  26 | " W R4" |  0 | 26 |  0 | 19 | 34 | JBUS 26(19)      |
|  27 | " VKBE" |  0 | 25 | 12 |  2 |  5 | HLT  25,12       |

The computer automatically reads in instructions 0-15, then starts at 0. Our instructions say: Read in instructions 16-27 (IN 16(16)) Wait until they are read in (JBUS 1(16)) Set A to 4 (ENTA 4) Set AX to A times 25 (MUL 27(0:2)) (multiply by the A-field of word 27) Store X (which is now 100) to the A-field of location 12 (STX 12(0:2)) Set A to 3075 (ENTA 3075) (More accurately, set A to 48m+3, where m is the number of distinct values of a byte.) Set AX to A times 19 (MUL 22(4:4)) (multiply by the F-field of word 22) Store X mod 64 (or max_byte+1, rather) (which is now 57) to the C-field of location 16 (STX 16(5:5)), thus transforming the instruction there into CMP1 12(0:2) Store 57 to the C-field of location 24 (STX 24(5:5)), transforming that instruction as well into CMP1 12(0:2).

We are now finished with the self-modifying code and can actually do the real work. Remaining instructions look like this:

| Loc |    A |  I |  F |  C | Instruction      |
|-----|------|----|----|----|------------------|
|   9 |    1 |  0 | 18 |  9 | LD1  1(2:2)      |
|  10 | 2992 | 29 | 34 |  0 | NOP  2992,29(34) |
|  11 |    0 |  1 |  2 | 48 | ENTA 0,1         |
|  12 |  100 | 44 |  1 |  5 | CHAR 100,44      |
|  13 |   27 |  1 |  5 | 33 | STZ  27,1(0:5)   |
|  14 |   27 |  1 | 29 | 31 | STX  27,1(3:5)   |
|  15 |    0 |  1 |  1 |  7 | MOVE 0,1(1)      |
|  16 |   12 |  0 |  2 | 57 | CMP1 12(0:2)     |
|  17 |   11 |  0 |  9 | 39 | JLE  11          |
|  18 |   27 |  1 |  5 | 33 | STZ  27,1(0:5)   |
|  19 |    0 |  1 | 27 |  7 | MOVE 0,1(27)     |
|  20 |    1 |  1 | 11 |  7 | MOVE 1,1(11)     |
|  21 |   11 |  0 | 27 |  9 | LD1  11(3:3)     |
|  22 |   27 |  1 | 19 | 37 | OUT  27,1(19)    |
|  23 |    0 |  1 | 14 |  7 | MOVE 0,1(14)     |
|  24 |   12 |  0 |  2 | 57 | CMP1 12(0:2)     |
|  25 |   22 |  0 |  4 | 39 | JL   22          |
|  26 |   26 |  0 | 19 | 34 | JBUS 26(19)      |
|  27 |   25 | 12 |  2 |  5 | HLT  25,12       |

We now load register I1 with 1 (LD1 1(2:2)), do a no-op (NOP 2992,29(34)) (this no-op exists because character 10 isn't printable normally, so we have to adjust things a bit), and repeatedly: Copy register I1 into register A (ENTA 0,1) Turn A into characters in AX (CHAR 100,44) Clear out location 27+I1 (STZ 27,1(0:5)) Put the last three digits from X into that spot (STX 27,1(3:5)) Increment register I1 (MOVE 0,1(1)) Compare I1 against 100 (CMP1 12(0:2)) Jump back to the copying unless the answer is ‘greater’ (JLE 11)

I1 is now 101. Now we clear out location 128 (STZ 27,1(0:5)), increase I1 by 27 (MOVE 0,1(27)), copy location 128 to location 129, 129 to 130, and so on (in that order!) up to 11 copies (MOVE 1,1(11))

Now we reset I1 to 1 (LD1 11(3:3)), type out 14 words starting from location 27+I1 (OUT 27,1(19)), increase I1 by 14 (MOVE 0,1(14)), compare it to 100 (CMP1 12(0:2)), jump back to the typing if it's smaller (JL 22), wait until we are finished typing (JBUS 26(19)), and stop (HLT 25,12).

CHAR and HLT ignore their arguments in A and I, which is why we can ignore the nonexistence of I12 and I29. (This might cause a segfault on some implementations and a premature stop on others, though.) NOP ignores all its arguments. (These statements are true for my implementation.)

NoLongerBreathedIn

Posted 2018-02-06T18:55:24.897

Reputation: 109

1Is there a reason that this is third time that you have posted this? – H.PWiz – 2018-02-28T23:56:47.773

Logic errors. Several bugs I spotted while writing up an explanation. – NoLongerBreathedIn – 2018-03-02T00:39:30.793

Ok, I didn't realise that it had even changed – H.PWiz – 2018-03-02T00:50:50.203

To clarify, I edited it a few times, then deleted and reposted, then repeat. If you look at the original post, there are a few changes from the most recent version of that. (For example, the second line starts " N C2" in that version, but " K B2" here.) – NoLongerBreathedIn – 2018-03-03T01:37:45.840

1

TorqueScript, 90 bytes, safe

function base(%a){if(%a<50){echo(%a*2+1@" "@%a*2+2);schedule(0,0,base,%a++);}}$editors1();

Outputs two numbers per line separated by a space.

Un-golfed:

function base(%a) {
   if (%a < 50) {
      echo(%a * 2 + 1 @ " " @ %a * 2 + 2);
      schedule(0, 0, base, %a ++);
   }
}
$editors1();

So what does this do? It defines a function named base, then it calls $editors1();. $editors1 happens to be conveniently set to the value "base" by the Full Template's default scripts so the call $editors1(); is resolved to base(); with %a = "" because undefined arguments are initialized to empty string.

base itself is a simple recursive function with 2 parts:

echo(%a * 2 + 1 @ " " @ %a * 2 + 2);

Prints the concatenation of (%a * 2 + 1), " ", and %a * 2 + 2.

schedule(0, 0, base, %a ++);

Schedules an event to run the base function in 0ms with an input value of %a ++, which happens to be %a + 1 due to TorqueScript's postfix ++ being applied before the value of %a is copied. So this will recursively (through events so it won't overflow the stack) call base with increasing values of %a.

if (%a < 50) {

Will stop the recursion once %a reaches 50.


I haven't seen anyone mention TorqueScript on here yet. It has a bunch of weird quirks that might make interesting code challenges.

Glenn Smith

Posted 2018-02-06T18:55:24.897

Reputation: 585

0

Milky Way, 11 bytes, cracked by ovs

print-ZL¡;

Try it online!

Have fun!

FantaC

Posted 2018-02-06T18:55:24.897

Reputation: 1 425

1cracked – ovs – 2018-02-06T21:20:30.430

0

Implicit, 14 bytes, cracked by totallyhuman

(].[]%<100@9)&

Outputs decimals separated by tabs.

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is Implicit. – totallyhuman – 2018-02-07T17:29:47.317

0

Cubically, 47 bytes, cracked by user202729

[
out:6 ~ x * 1 + 1 / 1 % 6;
string x @ 8;
]100

Prints decimals separated by ASCII 0x00.

Cubically strips out all spaces, and alot of the commands are no-ops. The code it interprets is:

[:6~*1+1/1%6@8]100

The code that actually does useful things is:

[*1+1/1%@8]100
[.........]100   repeat everything in brackets 100 times
 *1+1/1          fail-safe add 1 to notepad
       %         print notepad as integer
        @8       print !issolved(cube)

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is Cubically. (new square bracket? nice) – user202729 – 2018-02-07T14:14:58.313

0

Huginn, 54 + 9 (--no-argv) = 63 bytes, cracked by Dennis

main(){i=1;while(i<101){print("{} ".format(i));i+=1;}}

Outputs each number in decimal. These are separated by a space.

Mr. Xcoder

Posted 2018-02-06T18:55:24.897

Reputation: 39 774

If anyone cracks it, feel free to edit in, I'll most likely be sleeping :P – Mr. Xcoder – 2018-02-06T22:29:39.217

Cracked. The --no-argv is a dead giveaway. – Dennis – 2018-02-07T00:14:47.420

@Dennis Actually it didn't even need to be mentioned at all in the post, per the new consensus. ;-) – Erik the Outgolfer – 2018-02-07T14:16:18.510

3@EriktheOutgolfer Flags may be used, but you must reveal what flags are used in your answer. – Dennis – 2018-02-07T14:20:10.300

0

Symbolic Python, 242 bytes, cracked by user202729

_=+([]==[]),
__('_+=-~_[~([]>[])],;'*-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~([]==[]))

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

Is the count of -~ correct? – tsh – 2018-02-08T03:15:56.213

@tsh yep ------ – MD XF – 2018-02-08T04:03:40.833

Cracked – user202729 – 2018-02-08T04:11:27.147

0

Prelude, 38 bytes, cracked by jimmy23013

91+ v+   vv++ (1-v!)
   ^  ^^+    0 1+

Output is in raw chars 0x01-0x64.

Erik the Outgolfer

Posted 2018-02-06T18:55:24.897

Reputation: 38 134

Cracked. It's Prelude. – jimmy23013 – 2018-02-09T12:18:49.223

@jimmy23013 yeah this wasn't hard at all – Erik the Outgolfer – 2018-02-09T12:23:25.587

0

Pain-Flak, 241 bytes, cracked by H.PWiz

Pastebin

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

Everyone knows what I program in??

Christopher

Posted 2018-02-06T18:55:24.897

Reputation: 3 428

Cracked. It looks like your Pastebin has a lot of unprintables, was this intened? – H.PWiz – 2018-02-09T01:01:44.760

@H.PWiz AFAICT Christopher didn't want people to know he used the RLM in his answer, nor did he want to fix it using an LRM, so he outsourced it to pastebin. (Just a guess tho) – Conor O'Brien – 2018-02-09T01:03:05.720

@ConorO'Brien no if it has unprintables you have to pastebin – Christopher – 2018-02-09T01:08:29.077

@Christopher right but that doesn't stop you from posting code :P – Conor O'Brien – 2018-02-09T01:08:59.777

0

JavaScript, 37 bytes, cracked by Steadybox

n=1;while(n<101){console.log(n);n++;}

Pretty easy... but... ehhh...

Colin Robertson

Posted 2018-02-06T18:55:24.897

Reputation: 31

Cracked – Steadybox – 2018-02-09T17:36:36.643

0

Mathematica, 301 bytes, cracked by Silvio Mayolo

Print["1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 "]

FantaC

Posted 2018-02-06T18:55:24.897

Reputation: 1 425

Cracked. – Silvio Mayolo – 2018-02-09T20:46:04.190

2This also works in Foo. I was just about to post a crack. – MD XF – 2018-02-09T20:46:34.340

@totallyhuman actually intended to be Mathics, didn't realize mathematia had a print[] function

– FantaC – 2018-02-09T20:48:33.517

I had to verify it myself; never personally had cause to do a straight print in Mathematica, but alas it does. – Silvio Mayolo – 2018-02-09T20:49:08.000

@tfbninja Mathics is just a FOSS version of Mathematica. – totallyhuman – 2018-02-09T20:49:10.350

@totallyhuman good to know! – FantaC – 2018-02-09T20:58:07.107

8@MDXF And we thought there wouldn't be any Foo polyglots this time around! – DLosc – 2018-02-09T21:09:57.630

0

JavaScript/JSFuck, 38541 bytes, cracked by Steadybox

If this remains uncracked for seven days, I am seriously going to cry.

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

Here's a pastebin link, for easier copy-and-pasting. (And no, I did not write all of the code manually.)

The program outputs normally by printing to the language's equivalent of STDOUT

This program, when un-JSFuck-ified, turns into (function(){for(var i = 0; i < 101; i++){console.log(i)}})(). Not too crazy looking now, is it?

I could have made it worse/longer by making it un-runnable from the console (yes, that is possible, but it could make it extremely clear what the language is), and adding some extra awesomeness to it.

iPhoenix

Posted 2018-02-06T18:55:24.897

Reputation: 592

Not exactly aiming to win, just want to see if anyone can crack it :) – iPhoenix – 2018-02-09T22:40:45.730

1Cracked – Steadybox – 2018-02-09T22:46:46.277

0

Super Stack, 47 bytes, cracked by totallyhuman

1 1 if pop dup output 1 add dup 101 swap sub fi

Let's see if anyone knows this one!

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is Super Stack! – totallyhuman – 2018-02-10T03:11:35.837

0

Pari/GP, 33 bytes, cracked by Mr. Xcoder

print(Vecrev(((x^101-1)/(x-1))'))

A very easy one. I don't expect it to last long.

alephalpha

Posted 2018-02-06T18:55:24.897

Reputation: 23 988

1This is Pari/GP. – Mr. Xcoder – 2018-02-11T08:08:29.253

OK. 27 minutes. – alephalpha – 2018-02-11T08:11:55.057

1It lasted 27 minutes because I only saw this 25 minutes ago :P – Mr. Xcoder – 2018-02-11T08:12:32.240

0

Unfuck, 78 bytes, safe

++++(^~)~(~?!)((>+++++<-))(^)>(^~)~(~?!)((>+++++<-))(^)>(^~)~(~?!)((>+.<-))(^)

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

0

Cubically 6×6×6, 14 bytes, cracked by H.PWiz

[+1[+7]35@]100

Per this meta post, Cubically with the -6 flag counts as a completely different language (Cubically 6x6x6) than with the -5 flag (Cubically 5x5x5), which is again different from the default language (Cubically 3x3x3).

Cubically 6x6x6 does not have its own wrapper on TIO (i.e. there is no tio.run/#cubically-6x6x6), but the language itself is on TIO; it simply requires the -6 flag. I believe this is valid due to the linked meta post and the fact that the language is on TIO, but simply needs more to run than just one of the /srv/wrappers scripts.

Dennis' 8cc answer acts similarly; the language is on TIO, but it requires multiple commands and command-line flags, none of which were specified in the answer.

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

1I'm watching :) – MickyT – 2018-02-12T00:20:56.700

1It takes less than 6 seconds to crack once you find the right language. – Steadybox – 2018-02-12T04:10:28.703

What's the output format? – Jo King – 2018-02-16T00:17:00.990

@JoKing Raw bytes. – MD XF – 2018-02-16T01:37:02.480

3Cracked. This is Cubically -6 – H.PWiz – 2018-02-18T01:58:53.393

2This is invalid because you didn't specify the command line flags. (not that it matters now) – a spaghetto – 2018-02-18T02:01:22.587

@quartata edited why I think it's valid in. – MD XF – 2018-02-18T18:45:42.903

@MDXF The difference is that ELVM doesn't actually need any additional commands outside of TIO, whereas this does. This requires additional command line options everywhere. – a spaghetto – 2018-02-18T19:06:09.017

0

zsh, 288 bytes, cracked by Conor O'Brien

`#echo#`:`#a:G.Array.Integer#`
;: PVar$i: G.Integer :;
;: `#FOR#:i=0:!i>a.Length:i+=1` :;
;: :: IO.Out.PrintInt: a.$i :: :;
;: `#ENDFOR#` :;
`#endecho#`
`#main#`:`#a:G.Array.Array.Char#`
;: PVar$i: G.Integer :;
;: PVar$j: G.Integer :;
:; i=1 ;:
:; j=100 ;:
:; echo {$i..$j} ;:
`#endmain#`

Probably won't last long, but eh.

betseg

Posted 2018-02-06T18:55:24.897

Reputation: 8 493

Cracked – Conor O'Brien – 2018-02-11T21:50:35.267

0

QML, 215 bytes, cracked by totallyhuman

import QtQuick 2.9
import QtQuick.Window 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    ListView {
        anchors.fill: parent
        model: 100
        delegate: Text { text: index + 1 }
    }
}

Outputs 1-100 in text with every number on it's own line. The whole UI is a vertical flickable application.

Well done to @totallyhuman who cracked this.

This is, indeed, QML. The model property usually is connected to a data source providing data for a list (as per doc.qt.io/archives/qt-5.5/qml-qtquick-listview.html#model-prop). However, it can also point to a Javascript array, or, hold a single number. When it's the later, it functions like a "Repeater" and the delegate element is repeated n times.

Stephen Quan

Posted 2018-02-06T18:55:24.897

Reputation: 121

This is QML. – totallyhuman – 2018-02-12T02:14:55.143

0

Windows Batch file, 320 bytes, cracked by MD XF

set S=1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100
echo %S:;= & echo %

Output: the numbers 1-100 with each number (in plain text) on it's own line

Well done @md-xf who cracked this. It is a Windows Batch file. The trick was an echo expansion causing the following to be generated:

echo 1
echo 2
echo 3
...

Stephen Quan

Posted 2018-02-06T18:55:24.897

Reputation: 121

This is Batch. – MD XF – 2018-02-12T03:04:31.393

0

ExtraC, 68 bytes, cracked by NieDzejkob

for(int i be 1 AND not(i greater 100)AND increment i)do
print(i)
end

Steadybox

Posted 2018-02-06T18:55:24.897

Reputation: 15 798

Cracked – NieDzejkob – 2018-02-14T17:16:00.140

0

rk-lang, 44 bytes, cracked by Dennis

int $1
while $1 < 100 do
  print: ++ $1
done

Requires the -e flag. Outputs decimals separated by spaces with a trailing space.

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is rk. – Dennis – 2018-02-18T03:03:40.437

0

PHP, 133 bytes, cracked by Dennis

Easy one : (numbers are separated by pipe symbol)

for 
(
 putenv("num=".(int)(bool)NO); 
 getenv ("num") <= 100; 
 putenv("num=". (getenv("num") + 1))
)
 printf("%d|", getenv("num"));

Catch :

  1. No PHP variables in FOR loop

  2. Code is made to be C-like syntax

  3. Objective-C has macro named NO which is 0.

  4. PHP has strange syntax construct "define without define" :
    if interpreter finds unqualified token in code - it assumes that this token is an undefined constant and because it's value is unknown - value is taken from token name converted to a string constant. That's why NO get's interpreted as 'NO' and because all non-empty strings in PHP means true when converted to boolean - integer 1 is saved into environment variable in FOR loop initialization part. Fortunately this PHP behavior is now a deprecated feature

  5. The only thing which truly reaveals that it is PHP code snippet - string concatenation operator . If PHP would have function strcat() like C does - hiding dot from the reader would make code more inseparable from a C syntax.

Agnius Vasiliauskas

Posted 2018-02-06T18:55:24.897

Reputation: 125

1This is PHP. – Dennis – 2018-02-17T12:29:59.613

0

Attache, 15 bytes, cracked by totallyhuman

Print!V[1..100]

I like this language.

MD XF

Posted 2018-02-06T18:55:24.897

Reputation: 11 605

This is Attache. – totallyhuman – 2018-02-19T06:14:59.240