ログイン新規登録
@@ -1 +1 @@
-JS記号プログラミング入門
+eeb0b42a1ecbba0c49e3
@@ -1,1312 +1 @@
-# なんやねんこれ
-
-[JavaScriptで記号のみを用いてできるだけ短く英数字を出力する + 記号のみを用いてFizzBuzzをやってみる](https://qiita.com/acid_chicken/items/1c0d6881d7648578e34d)が少し伸びてたので、もうちょっとまともに解説しようと思ったのが記事のきっかけです。
-
-# そもそも記号プログラミングとは
-
-JavaScriptを記号だけで書こうという~~宗教~~プログラミングです。
-得られるものとしては
-
-* ~~読解可能な~~難読化コードの手動生成技術
-* 冗長化された素晴らしいコード
-* 謎の感動
-* 狂気
-
-と言ったものが挙げられます。
-
-## 制約
-
-具体的なルールは以下の通りです。
-
-* 最新版のFirefoxで動作する文法で書く。(Chromeに関しては実装が違うようなのでここでは見送ります)
-* [標準ビルトインオブジェクト](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects)と[グローバルオブジェクト](https://developer.mozilla.org/ja/docs/Glossary/Global_object)が利用可能。
-* 引用符で任意のStringオブジェクトを作成してはいけない。
-* 次の文字のみを利用すること。
-
-<dl>
- <dt>0x20 - 0x21</dt>
- <dd>
- <code>&nbsp;</code><!-- 見た目を考慮してnbspで表記しているが、利用できるのは0x20のみ -->
- <code>!</code>
- </dd>
-</dl>
-<dl>
- <dt>0x22 - 0x26</dt>
- <dd>
- <code>"</code>
- <code>#</code>
- <code>$</code>
- <code>%</code>
- <code>&amp;</code>
- </dd>
-</dl>
-<dl>
- <dt>0x27 - 0x2f</dt>
- <dd>
- <code>'</code>
- <code>(</code>
- <code>)</code>
- <code>*</code>
- <code>+</code>
- <code>,</code>
- <code>-</code>
- <code>.</code>
- <code>/</code>
- </dd>
-</dl>
-<dl>
- <dt>0x3a - 0x40</dt>
- <dd>
- <code>:</code>
- <code>;</code>
- <code>&lt;</code>
- <code>=</code>
- <code>&gt;</code>
- <code>?</code>
- <code>@</code>
- </dd>
-</dl>
-<dl>
- <dt>0x5b - 0x60</dt>
- <dd>
- <code>[</code>
- <code>\</code>
- <code>]</code>
- <code>^</code>
- <code>_</code>
- <code>`</code>
- </dd>
-</dl>
-<dl>
- <dt>0x7b - 0x7e</dt>
- <dd>
- <code>{</code>
- <code>|</code>
- <code>}</code>
- <code>~</code>
- </dd>
-</dl>
-
-# テクニック
-
-では早速記号プログラミングを始めましょう!
-
-1. about:blankを開き、
-2. <kbd>Ctrl + Shift + K</kbd> (macOS: <kbd>⌘⌥K</kbd>) を押下し、
-3. コンソールにフォーカスが入れば準備完了!
-
-## 基礎編
-
-記号プログラミングでは`[]`が多用されます。これは配列リテラルと呼ばれるもので、非常に活用しやすいのが特徴です。使用例を以下に記述します。
-
-```js:Array
-[] // Array []
-```
-```js:Boolean
- ![] // false
-!![] // true
-```
-```js:undefined
-[][[]] // undefined
-```
-```js:Number
- +[] // 0
- -[] // -0
- ~[] // -1
- -~[] // 1
- ~-~[] // -2
- -~-~[] // 2
- []/[] // NaN
- ~[]/[] // -Infinity
--~[]/[] // Infinity
-```
-```js:String
- []+[] // ""
- ![]+[] // "false"
-!![]+[] // "true"
-```
-
-ね?簡単でしょう?JavaScriptは弱い動的型付け言語なので、このような様々な表記で多様な値に様変わりします。
-また、任意の値に配列を加算するような書き方をすると、その値はString型になります。これは全てのString型がString型の配列とも解釈できることに起因するものです。
-
-## 基本編
-
-では、入門編で生成したオブジェクトから様々な文字列を獲得してみましょう。
-
-```js:false
- ![]+[] // "false"
-(![]+[])[+[]] // "f"
-(![]+[])[-~[]] // "a"
-(![]+[])[-~-~[]] // "l"
-(![]+[])[-~-~-~[]] // "s"
-(![]+[])[-~-~-~-~[]] // "e"
-```
-```js:true
- !![]+[] // "true"
-(!![]+[])[+[]] // "t"
-(!![]+[])[-~[]] // "r"
-(!![]+[])[-~-~[]] // "u"
-(!![]+[])[-~-~-~[]] // "e"
-```
-```js:undefined
- [][[]]+[] // "undefined"
-([][[]]+[])[+[]] // "u"
-([][[]]+[])[-~[]] // "n"
-([][[]]+[])[-~-~[]] // "d"
-([][[]]+[])[-~-~-~[]] // "e"
-([][[]]+[])[-~-~-~-~[]] // "f"
-([][[]]+[])[-~-~-~-~-~[]] // "i"
-([][[]]+[])[-~-~-~-~-~-~[]] // "n"
-([][[]]+[])[-~-~-~-~-~-~-~[]] // "e"
-([][[]]+[])[~-~-~-~-[]*~-~[]] // "d"
-```
-```js:NaN
- []/[]+[] // "NaN"
-([]/[]+[])[+[]] // "N"
-([]/[]+[])[-~[]] // "a"
-([]/[]+[])[-~-~[]] // "N"
-```
-```js:Infinity
- -~[]/[]+[] // "Infinity"
-(-~[]/[]+[])[+[]] // "I"
-(-~[]/[]+[])[-~[]] // "n"
-(-~[]/[]+[])[-~-~[]] // "f"
-(-~[]/[]+[])[-~-~-~[]] // "i"
-(-~[]/[]+[])[-~-~-~-~[]] // "n"
-(-~[]/[]+[])[-~-~-~-~-~[]] // "i"
-(-~[]/[]+[])[-~-~-~-~-~-~[]] // "t"
-(-~[]/[]+[])[-~-~-~-~-~-~-~[]] // "y"
-```
-
-そして空のオブジェクトからこんなものも採取できます。
-
-```js:[object&nbsp;Object]
-/* Don't write "{}+[]". It's not working! */
- []+{} // "[object Object]"
-([]+{})[+[]] // "["
-([]+{})[-~[]] // "o"
-([]+{})[-~-~[]] // "b"
-([]+{})[-~-~-~[]] // "j"
-([]+{})[-~-~-~-~[]] // "e"
-([]+{})[-~-~-~-~-~[]] // "c"
-([]+{})[-~-~-~-~-~-~[]] // "t"
-([]+{})[-~-~-~-~-~-~-~[]] // " "
-([]+{})[~-~-~-~-[]*~-~[]] // "O"
-([]+{})[~-~-~[]*~-~-~[]] // "b"
-([]+{})[~-~-~-~-~[]*~-~[]] // "j"
-([]+{})[(-~-~-~[]<<-~-~[])+~[]] // "e"
-([]+{})[-~-~-~[]<<-~-~[]] // "c"
-([]+{})[(-~-~-~[]<<-~-~[])-~[]] // "t"
-([]+{})[~-~-~-~-~-~-~[]*~-~[]] // "]"
-```
-
-さらにビルトイン関数を呼び出しましょう。**Firefox**では全てこのような出力になります。
-
-```js:native&nbsp;code
-$+[]
-/*
-"function () {
- [native code]
-}"
- */
-$$+[]
-/*
-"function () {
- [native code]
-}"
- */
-$_+[]
-/*
-"function () {
- [native code]
-}"
- */
-```
-
-長すぎるので文字列の分解は省略しますが、この文字列には改行文字も含まれることを忘れないようにしましょう。また、jQueryでは`$`が上書きされるため、下2つの内何れかの表記する必要があります。
-
-## 応用編
-
-基本編の段階ではまだまだ扱える文字が少ないので、この限られた文字から様々なオブジェクトを生成しましょう。
-幸い現時点で次の文字を並べることができます。
-
-```js
-'c' // "[object Object]"
- + // |~~~~~^ [5]
-'o' // "[object Object]"
- + // |~^ [1]
-'n' // "function () {\n [native code]\n}"
- + // |~~^ [2]
-'s' // "false"
- + // |~~~^ [3]
-'t' // "true"
- + // |^ [0]
-'r' // "true"
- + // |~^ [1]
-'u' // "undefined"
- + // |^ [0]
-'c' // "[object Object]"
- + // |~~~~~^ [5]
-'t' // "true"
- + // |^ [0]
-'o' // "[object Object]"
- + // |~^ [1]
-'r' // "true"
- // |~^ [1]
-```
-
-ここでなぜ`'constructor'`などという文字列を生成しているかというと、次のようなことができるようになるからです。
-
-```js
-[]['constructor']
-/*
-"function Array() {
- [native code]
-}"
- */
-(![])['constructor']+[]
-/*
-"function Boolean() {
- [native code]
-}"
- */
-(+[])['constructor']+[]
-/*
-"function Number() {
- [native code]
-}"
- */
-([]+[])['constructor']+[]
-/*
-"function String() {
- [native code]
-}"
- */
-({})['constructor']+[]
-/*
-"function Object() {
- [native code]
-}"
- */
-/ /['constructor']+[]
-/*
-"function RegExp() {
- [native code]
-}"
- */
-[]['constructor']['constructor']
-/*
-"function Function() {
- [native code]
-}"
- */
-```
-
-なんということでしょう、先程まで数少なかった文字列のレパートリーが、`constructor`の手によってこんなにも増えました。
-(正規表現の部分、ハイライトがおかしいですが、正しく動作します。)
-
-この奇跡は記号に直すとこうなります。
-
-```js
-/*c*/ ([]+{})[-~-~-~-~-~[]]
- +
-/*o*/ ([]+{})[-~[]]
- +
-/*n*/ ($+[])[-~-~[]]
- +
-/*s*/ (![]+[])[-~-~-~[]]
- +
-/*t*/ (!![]+[])[+[]]
- +
-/*r*/ (!![]+[])[-~[]]
- +
-/*u*/ ([][[]]+[])[+[]]
- +
-/*c*/ ([]+{})[-~-~-~-~-~[]]
- +
-/*t*/ (!![]+[])[+[]]
- +
-/*o*/ ([]+{})[-~[]]
- +
-/*r*/ (!![]+[])[-~[]]
-```
-
-つまり、このように書けば
-
-```js
-(
- []
- [
- ([]+{})[-~-~-~-~-~[]]+
- ([]+{})[-~[]]+
- ($+[])[-~-~[]]+
- (![]+[])[-~-~-~[]]+
- (!![]+[])[+[]]+
- (!![]+[])[-~[]]+
- ([][[]]+[])[+[]]+
- ([]+{})[-~-~-~-~-~[]]+
- (!![]+[])[+[]]+
- ([]+{})[-~[]]+
- (!![]+[])[-~[]]
- ]+
- []
-)
-[~-~-~[]*~-~-~[]] // "A"
-```
-
-といった文字が使えるようになるわけです。JavaScriptの奇跡に圧倒的感謝:pray::pray::pray:
-
-## 発展編
-
-まだまだ扱える文字は不完全です。この章では応用編でさえも獲得できなかった文字列をすべて埋めていきます。
-
-JavaScriptでは、次のようなコードでUnicode文字コードから任意のアルファベットなどを生成できます。
-
-```js
-'\u0068' // "h"
-```
-
-これを関数化し
-
-```js
-(() => '\u0068')() // "h"
-```
-
-こうすると
-
-```js
-new Function('return "\u0068"')() // "h"
-```
-
-こうなり
-
-```js
-Function['constructor']('return "\u0068"')()
-```
-
-さらにこうなり
-
-```js
-[]['constructor']['constructor']('return "\u0068"')()
-```
-
-最後にこうなります。
-この時点で全ての記号でない部分が文字列になりました。
-さて、お待ちかねの記号化のお時間です。
-
-```js
-[]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-(
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- -~-~-~-~-~-~[]+ // "6"
- -~-~-~-~-~-~-~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
-)
-() // "h"
-```
-
-これでめでたく全ての文字を参照することができるようになりました!
-
-## 実用編
-
-もうFizzBuzzは面倒なのでやりません。そもそも実用編なら実用できそうなコードを書くべきですよね。
-ということで、この記事をいいねしてくれた人を取得するコードを書こうと思います。
-
-```js
-(
- async () => {
- try {(
- await (
- await fetch('https://qiita.com/api/v2/items/eeb0b42a1ecbba0c49e3/likes')
- ).json()
- ).map(x =>
- console.log(x.user.id)
- )} catch (e) {
- console.error(e)
- }
- }
-)()
-```
-
-ざっとこんなところでしょうか。
-これを記号部分以外全て文字列にすると
-
-```js
-[]['constructor']['constructor'](
-'('+
-'async()=>{'+
-'try{('+
-'await('+
-'await fetch("https://qiita.com/api/v2/items/eeb0b42a1ecbba0c49e3/likes")'+
-').json()'+
-').map(x=>'+
-'console.log(x.user.id)'+
-')}catch(e){'+
-'console.error(e)'+
-'}'+
-'}'+
-')()'
-)()
-```
-
-こうなr…ずるいですね。こういうのはタブーです。
-ということでまず既存のコードに懐かしの風味を加えましょう。
-
-```js
-fetch('https://qiita.com/api/v2/items/eeb0b42a1ecbba0c49e3/likes'
-).then(new Function('u',
- 'u.json()'+
- '.then(new Function("u",'+
- '"u.map(new Function(\'u\','+
- '\'console.log(u.user.id)\''+
- '))"'+
- '))'
-)).catch(new Function('u',
- 'console.error(u)'
-))
-```
-
-これが限界か…ダメだ!これだからFetch APIはけしからん!
-ならばXMLHttpRequestを用意して…
-
-```js
-_=[]['constructor']['constructor']('return this')()['XMLHttpRequest']['constructor']();
-_['open']('GET','https://qiita.com/api/v2/items/eeb0b42a1ecbba0c49e3/likes',false);
-_['send']([]['constructor']['constructor']('return this')()['document']['parentNode']);
-_['status']==200&&[]['constructor']['constructor']('return this')()['JSON']['parse'](_['responseText'])['reduce']([]['constructor']['constructor']('f','u','N','f[N]=u'),[])
-```
-
-:warning: <font color="red">TypeError: _.open is not a function</font>
-
-おっと、一体どういうことでしょうか。
-
-:warning: <font color="red">TypeError: Constructor XMLHttpRequest requires 'new'</font>
-
-困りましたね…XMLHttpRequestは`new`を使わないとコンストラクタが作れないみたいです。しかし`new`は記号ではないので使うことができません。
-ならばとても古典的な方法にかけてみるしかなさそうですね…
-
-```js
-__=[]['constructor']['constructor']('u','u["map"]([]["constructor"]["constructor"]("u","[][`constructor`][`constructor`](`return this`)()[`console`][`log`](u.user.id)"))');
-_=[]['constructor']['constructor']('return this')()['document']['createElement']('script');
-_['src']='https://qiita.com/api/v2/items/eeb0b42a1ecbba0c49e3/likes?callback=__';
-_['onload']=[]['constructor']['constructor']('_["remove"]()');
-[]['constructor']['constructor']('return this')()['document']['body']['appendChild'](_)
-```
-
-残念!Qiita APIはJSONPに対応していませんでした。
-仕方なくFetch APIで記号プログラミングすることにしましょう。
-
-```js
-_=[]['constructor']['constructor']('return this');
-__=[]['constructor']['constructor']('u','_()["console"]["log"](u["user"])');
-___=[]['constructor']['constructor']('u','u["map"](__)');
-____=[]['constructor']['constructor']('u','u["json"]()["then"](___)');
-(_())
-['fetch']('https://qiita.com/api/v2/items/eeb0b42a1ecbba0c49e3/likes')
-['then'](____)
-['catch'](__)
-```
-
-こんな感じですか。
-さてではこれを記号にしましょう。
-
-```js
-_=[]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-(
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (!![]+[])[+[]]+ // "t"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- ~-~-~[]*~-~[]+ // "6"
- ~-~-~-~[]*~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
- )
- ()+ // "h"
- (-~[]/[]+[])[-~-~-~[]]+ // "i"
- (![]+[])[-~-~-~[]] // "s"
-);
-__=[]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-(
- ([][[]]+[])[+[]], // "u"
- (/_/+[])[-~[]]+ // "_"
- (/\(/+[])[-~-~[]]+ // "("
- (/\)/+[])[-~-~[]]+ // ")"
- (/\[/+[])[-~-~[]]+ // "["
- (/"/+[])[-~[]]+ // "\""
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- ([]+{})[-~[]]+ // "o"
- (![]+[])[-~-~[]]+ // "l"
- (!![]+[])[-~-~-~[]]+ // "e"
- (/"/+[])[-~[]]+ // "\""
- (/\]/+[])[-~-~[]]+ // "]"
- (/\[/+[])[-~-~[]]+ // "["
- (/"/+[])[-~[]]+ // "\""
- (![]+[])[-~-~[]]+ // "l"
- ([]+{})[-~[]]+ // "o"
- (
- / /
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [(-~-~-~[]<<-~-~[])+~[]]+ // "g"
- (/"/+[])[-~[]]+ // "\""
- (/\]/+[])[-~-~[]]+ // "]"
- (/\(/+[])[-~-~[]]+ // "("
- ([][[]]+[])[+[]]+ // "u"
- (/\[/+[])[-~-~[]]+ // "["
- (/"/+[])[-~[]]+ // "\""
- ([][[]]+[])[+[]]+ // "u"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[-~[]]+ // "r"
- (/"/+[])[-~[]]+ // "\""
- (/\]/+[])[-~-~[]]+ // "]"
- (/\)/+[])[-~-~[]] // ")"
-);
-___=[]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-(
- ([][[]]+[])[+[]], // "u"
- ([][[]]+[])[+[]]+ // "u"
- (/\[/+[])[-~-~[]]+ // "["
- (/"/+[])[-~[]]+ // "\""
- (
- (+[])
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [(-~-~-~[]<<-~-~[])+~[]]+ // "m"
- (![]+[])[-~[]]+ // "a"
- (
- / /
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [~-~-~-~-~-~-~[]*~-~[]]+ // "p"
- (/"/+[])[-~[]]+ // "\""
- (/\]/+[])[-~-~[]]+ // "]"
- (/\(/+[])[-~-~[]]+ // "("
- (/_/+[])[-~[]]+ // "_"
- (/_/+[])[-~[]]+ // "_"
- (/\)/+[])[-~-~[]] // ")"
-);
-____=[]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
-]
-(
- ([][[]]+[])[+[]], // "u"
- ([][[]]+[])[+[]]+ // "u"
- (/\[/+[])[-~-~[]]+ // "["
- (/"/+[])[-~[]]+ // "\""
- ([]+{})[-~-~-~[]]+ // "j"
- (![]+[])[-~-~-~[]]+ // "s"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (/"/+[])[-~[]]+ // "\""
- (/\]/+[])[-~-~[]]+ // "]"
- (/\(/+[])[-~-~[]]+ // "("
- (/\)/+[])[-~-~[]]+ // ")"
- (/\[/+[])[-~-~[]]+ // "["
- (/"/+[])[-~[]]+ // "\""
- (!![]+[])[+[]]+ // "t"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- ~-~-~[]*~-~[]+ // "6"
- ~-~-~-~[]*~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
- )
- ()+ // "h"
- (!![]+[])[-~-~-~[]]+ // "e"
- ($+[])[-~-~[]]+ // "n"
- (/"/+[])[-~[]]+ // "\""
- (/\]/+[])[-~-~[]]+ // "]"
- (/\(/+[])[-~-~[]]+ // "("
- (/_/+[])[-~[]]+ // "_"
- (/_/+[])[-~[]]+ // "_"
- (/_/+[])[-~[]]+ // "_"
- (/\)/+[])[-~-~[]] // ")"
-);
-(_())
-[
- (![]+[])[+[]]+ // "f"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- ~-~-~[]*~-~[]+ // "6"
- ~-~-~-~[]*~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
- )
- () // "h"
-]
-(
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- ~-~-~[]*~-~[]+ // "6"
- ~-~-~-~[]*~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
- )
- ()+ // "h"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[+[]]+ // "t"
- (
- / /
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [~-~-~-~-~-~-~[]*~-~[]]+ // "p"
- (![]+[])[-~-~-~[]]+ // "s"
- (/:/+[])[-~[]]+ // ":"
- (/\//+[])[-~-~[]]+ // "/"
- (/\//+[])[-~-~[]]+ // "/"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- -~-~-~-~-~-~-~[]+ // "7"
- -~[]+ // "1"
- (/"/+[])[-~[]] // "\""
- )
- ()+ // "q"
- (-~[]/[]+[])[-~-~-~[]]+ // "i"
- (-~[]/[]+[])[-~-~-~[]]+ // "i"
- (!![]+[])[+[]]+ // "t"
- (![]+[])[-~[]]+ // "a"
- (/./+[])[-~[]]+ // "."
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- (
- (+[])
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [(-~-~-~[]<<-~-~[])+~[]]+ // "m"
- (/\//+[])[-~-~[]]+ // "/"
- (![]+[])[-~[]]+ // "a"
- (
- / /
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [~-~-~-~-~-~-~[]*~-~[]]+ // "p"
- (-~[]/[]+[])[-~-~-~[]]+ // "i"
- (/\//+[])[-~-~[]]+ // "/"
- ($+[])[~(~[]+~[]+~[]<<-~-~-~[])]+ // "v"
- -~-~[]+ // "2"
- (/\//+[])[-~-~[]]+ // "/"
- (-~[]/[]+[])[-~-~-~[]]+ // "i"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~-~-~[]]+ // "e"
- (
- (+[])
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]+
- []
- )
- [(-~-~-~[]<<-~-~[])+~[]]+ // "m"
- (![]+[])[-~-~-~[]]+ // "s"
- (/\//+[])[-~-~[]]+ // "/"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[-~-~-~[]]+ // "e"
- ([]+{})[-~-~[]]+ // "b"
- -[]+ // "0"
- ([]+{})[-~-~[]]+ // "b"
- -~-~-~-~[]+ // "4"
- -~-~[]+ // "2"
- (![]+[])[-~[]]+ // "a"
- -~[]+ // "1"
- (!![]+[])[-~-~-~[]]+ // "e"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~-~[]]+ // "b"
- ([]+{})[-~-~[]]+ // "b"
- (![]+[])[-~[]]+ // "a"
- -[]+ // "0"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- -~-~-~-~[]+ // "4"
- ~-~-~[]*~-~-~[]+ // "9"
- (!![]+[])[-~-~-~[]]+ // "e"
- -~-~-~[]+ // "3"
- (/\//+[])[-~-~[]]+ // "/"
- (![]+[])[-~-~[]]+ // "l"
- (-~[]/[]+[])[-~-~-~[]]+ // "i"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- -~-~-~-~-~-~[]+ // "6"
- ([]+{})[-~-~[]]+ // "b"
- (/"/+[])[-~[]] // "\""
- )
- ()+ // "k"
- (!![]+[])[-~-~-~[]]+ // "e"
- (![]+[])[-~-~-~[]] // "s"
-)
-[
- (!![]+[])[+[]]+ // "t"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- ~-~-~[]*~-~[]+ // "6"
- ~-~-~-~[]*~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
- )
- ()+ // "h"
- (!![]+[])[-~-~-~[]]+ // "e"
- ($+[])[-~-~[]] // "n"
-]
-(____)
-[
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (![]+[])[-~[]]+ // "a"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- []
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- [
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- ([]+{})[-~[]]+ // "o"
- ($+[])[-~-~[]]+ // "n"
- (![]+[])[-~-~-~[]]+ // "s"
- (!![]+[])[+[]]+ // "t"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[+[]]+ // "u"
- ([]+{})[-~-~-~-~-~[]]+ // "c"
- (!![]+[])[+[]]+ // "t"
- ([]+{})[-~[]]+ // "o"
- (!![]+[])[-~[]] // "r"
- ]
- (
- (!![]+[])[-~[]]+ // "r"
- (!![]+[])[-~-~-~[]]+ // "e"
- (!![]+[])[+[]]+ // "t"
- ([][[]]+[])[+[]]+ // "u"
- (!![]+[])[-~[]]+ // "r"
- ([][[]]+[])[-~[]]+ // "n"
- (/ /+[])[-~[]]+ // " "
- (/"/+[])[-~[]]+ // "\""
- (/\\/+[])[-~[]]+ // "\\"
- ([][[]]+[])[+[]]+ // "u"
- -[]+ // "0"
- -[]+ // "0"
- ~-~-~[]*~-~[]+ // "6"
- ~-~-~-~[]*~-~[]+ // "8"
- (/"/+[])[-~[]] // "\""
- )
- () // "h"
-]
-(__)
-```
-
-```math
-{\scriptstyle ながーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーい、おつきあい。}
-```
-
-お疲れ様でした。
-
-# まとめ
-
-記号プログラミングはいいぞ。
-
+`@see <https://qiita.com/1ed873c7e9a8edd9c695d2fa438cc1ed/items/eeb0b42a1ecbba0c49e3/revisions/13>`
+

ログインして続ける

ソーシャルアカウントでログイン・新規登録

メールアドレスでログイン・新規登録