忘れてやらない

opencvGPUやSIFT,SURFが使えるようにしたが,大変苦戦したので忘れないように

用意する物

まず
CUDA toolkitに cuDNN?を入れる必要がある,ここからzipファイルをダウンロード,解凍したのち,"bin","include","lib"の内容をCUDAのインストールディレクトリ内の対応するディレクトリへそれぞれコピーする.

ソースコードのダウンロード
コマンドプロンプト等で以下のコマンドを実行しソースコードをダウンロード

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build
cd build

cmake guiでの設定

  1. cmakeを起動
  2. "Where is the source code"の箇所へOpencvソースコードディレクトリを指定 (前の手順でソースコードをダウンロードしたフォルダ)
  3. "Where to build the binaries"の箇所へビルドを行うディレクトリを指定 (2.のフォルダ内に"build"フォルダがあるはずなのでそれ)
  4. "Configure"をクリックすると設定画面が (最初だけ)開くのでジェネレータを「Visual Studio 16 2019」や「Visual Studio 17 2022」にする
    バージョンを間違えた場合は左上"file"から"Delete Cache"を押すともう一回設定できる

cmakeオプション設定
「Grouped」オプションと「Advanced」**オプションにチェックを入れると見やすい

Visual Studioでプロジェクトをビルドする
"build"フォルダに"OpenCV.sln"ができているのでそれをVisual Studioで開いたのち,上のリボンから構成を"Release"に変え,"ビルド"メニューから"ソリューションのビルド"を実行,2時間待つ.

インストール
"build"フォルダでcmdなどを開き,以下を実行

cmake --build . --config Release --target install

インストールの確認
以下を実行して1がprintされればOK

import cv2
print(cv2.cuda.getCudaEnabledDeviceCount())

うまくいかない原因
だいたいPATHがおかしい

ゲームと情報理論

概要

 

 

はじめに

題材にさせていただいたポケモンWordle様(https://wordle.mega-yadoran.jp/

参考にした教科書(中川聖一.電子工学・技術科学シリーズ 情報理論の基礎と応用,近代科学社

 

みなさんは,ポケモンWordle(https://wordle.mega-yadoran.jp/)というゲームをご存知だろうか.ポケモンWordleをご存知の方はしばらく読み飛ばし推奨

まあまあ前に旧Twitterで流行していた言葉当てゲームである.

ルールは簡単で,まずはランダムに答えとなる5文字のポケモンが決定される.

プレイヤーがポケモンを1匹選ぶと,以下のようにゲーム側は選んだポケモンの名前に色を塗ってくれる.

ここでは,”レントラー”の’ー’が黄色に塗られている.これは,答えのポケモン名に’ー’が含まれるが,レントラーと同じ箇所に含まれるわけではない,ということを示している.よってこの場合は答えにかんして

  • 名前に’ー’が含まれる
  • 5文字目は’ー’ではない
  • 名前に’レ’,’ン’,’ト’,’ラ’はいずれも含まれない

というヒントが得られる.

このヒントをもとに次のポケモンを選んでいこう...

 

 

 

 

例えば筆者は,”マルノーム”(逆張り)を選んだ.するとこのような画面になった.

   

今度は緑に塗られた.これは,緑に塗られた文字が,答えのポケモン名に同じ位置で含まれていることを示す.この情報を使うと,答えのポケモン名は

  • 4番目が’ー’
  • ’レ’,’ン’,’ト’,’ラ’,’マ’,’ル’,’ノ’,’ム’は含まれない

とさらに絞り込める.

この流れを何回か繰り返していくと,以下のように答えにたどり着けるといった具合である.

 

今回は,この言葉当ての際に選ぶポケモンを,確率的に選べないかな~という内容である

 

情報理論エントロピー

電気電子工学や通信工学を学んでいるおかしな人たち(誉め言葉)以外は,エントロピーと聞いても何のことかわからなかったり,熱力学の難しいアレねとしか思わなかったりする可能性があるので,簡単に説明する.

 

エントロピーという前に,まずは情報量というものを示さなくてはならない.SNSなどでは「情報量が多い」などと言ったりするが,情報理論では

と定義される.だいたい底は2.logって何だ?という人はまあ置いといてください.

この式では,pは何か出来事の起こる確率を示していて,起きる確率pが小さいほど,情報量Iが大きいということになっている.

例えば,「6月の大阪で雨が降った」(高確率な出来事)という情報を聞いても,そりゃそうじゃ(オーキド博士)としかならないが,「8月の名古屋で大雪が降った」(低確率な出来事)という情報には,統計的に価値があるというようなことであるらしい

 

この”情報量”というものを使って,次はエントロピーを定義する.

式をみてわかる人も多いかもしれないが,これは情報量の平均値をとっている.この式によれば,ばらつきの多いものほどエントロピーHが大きく,ばらつきの小さいものほどエントロピーは小さくなるらしい.

これも例を示そう.例えば6面サイコロを1回振った際の,出目のエントロピーは,

と計算できる.次にコインを1回投げた際の,裏表のエントロピーは,

と計算でき,サイコロのときより小さくなった.よって計算上はサイコロの出目のほうがコインの裏表よりばらつきが大きいということになるが,これは直観に反していないだろう(適当).

 

ここまでの説明をまとめると,なんだか確率を使って求めることのできる,エントロピーというやつが小さいと,情報のばらつきが小さい,ということである.

 

条件付きエントロピー

エントロピーの仲間に,条件付きエントロピーというやつがいる.

今回の記事では,この条件付きエントロピーに注目してポケモンWordleを攻略していく.

 

みなさんは,高校の数学で条件付き確率を習った(突然の断定).

ある出来事Aの結果を知ったうえで,出来事Bの確率はどうなる?といったものである.

 

この条件付き確率を使って求めるのが,条件付きエントロピー(次式)である.

ここまでくると式から意味がすぐにはわからないが,どうやらこれは,出来事Xの結果を知ったときの,出来事Yの不確かさ (ばらつき)の平均値ということになるらしい.

 

既に情報理論を学んでいる方々は察しがついたかもしれないが,ポケモンWordleにおいて,

とすると,答えの不確かさについて知ることができるのである.

ならば思うだろう.

不確かさを小さくするようなポケモンを選んでいけば,早く正解にたどり着けるのでは?

ここからは,実際に条件付きエントロピーを求め、比較する手順を,具体例を出しながら説明していこうと思う.

 

ちょっとした計算例

例えば,答えの候補が何らかの方法によって次の10匹まで絞られたとしよう.

ここでは,トルネロスを選ぶ場合とギラティナを選ぶ場合で条件付きエントロピーを比較し,どちらのほうが(確率的に)絞り込みに有利かを議論する.

実際の確率類やエントロピーの計算結果を示す.

 

これを見ると,ギラティナを選んだほうがが圧倒的にエントロピーが大きいとわかる.

要するに,”ギラティナ”と入力した結果からは(統計的に)答えについてあまり知ることができない一方,”トルネロス”と入力した場合は答えの不確かさを(平均的に)小さくできるということである.

 

実際にやってみる

5文字のポケモンはSV時点で557匹もいる.そのため,全ポケモンに対して上記のように手計算するのは実用的ではない.そこで,python上で簡単に実装してみた.今回は,そこまでのヒントによって除外できる(絶対に正解ではない)ポケモンは選ばない,として,候補のポケモンを自動で絞ってくれるようにもした.python環境がない人も,Colaboratoryとかで動くと思う.わからなかったら筆者のXとかで聞いてください.

wordle自動化.zip - Google ドライブ

依存関係とかあるのでフォルダごとダウンロードしてほしいなあ.

 

実行例

最初はレントラーを入力するように主張してくる.

レントラーを入れてみる

いきなり一択まで絞れた.レントラーは(条件付きエントロピーの観点から)は優秀なのかな?

当然正解

 

もう一回やってみる.最初は絶対にレントラーが来るようになっている.

今度はかすりもしてない

次はダルマッカが良いらしい.余談だが残っている候補を表示するようになっている.

一気に候補が減った気がする.あとは引き続き機械の言いなりになっていく.

キッショ、なんで分かるんだよ

 

まとめ

  • 情報理論の考え方はWordle等のゲームに当てはめたら面白いかもしれない.
  • 今回のお話はみんなが普段使っているデータや通信と深く関わりのある学問の,ほんの入り口なので,面白いと思ったら皆さん調べたりしてほしいね.

1泊2日爆弾東京旅行記

先週の土日に1泊2日で東京へ行ったが,あまりツイッターをしなかったのでそのときの写真を供養

 

<1日目>

下北

まずはここから

目的はもちろん...

 

 

 

 

 

 

 

 

 

ぼっちざろっくである.当たり前だよなぁ?

 

これのほかにもジャケ絵の写真撮ろうとして結束バンドのみんなが回っていたいろんなとこも行ってきました.朝早くだと結構人がいなくて色々回れてよかったですね.

 

昼食

なんで2杯...?

1杯目は純手打ちの極太麺でめちゃくちゃもちもち,トッピングのワンタンも海老がぷりっぷりで食べててすごい楽しいラーメンでした.2日間で一番うまいもん食ったまであるね.

2杯目はラーメンではなくて後ろにちらっと映っているピンク色のチャーハン目的で来店.まあおなかいっぱいだったのでミニラーメンだけ注文.中華料理屋だったのですがこのくらいの時間から人が多くなってきて都会感が出てきましたね.

 

アイカツMFF前夜祭 (DAY1)

最高 神 人生

始まる前からアリーナ席でまあまあ近くてわくわくが止まらない.

最初がSTARRY PLANET☆の曲で始まったのはいい意味でかなり驚いたし,

ダイヤモンドハッピーで音響トラブルから見事につないだのもアイカツっぽくて最高だったし,

LOVE RIOTとかロンリーグラヴィティはマジでかっこよかったし,

映画の新曲もライブで聴けてとてもとてもとてもいいライブで,前夜祭とは思えないくらい楽しんでしまった.

 

<2日目>

ホテルをチェックアウトしたので,ライブ会場(東京ガーデンシアター)横のイオンモールでコインロッカー借りに行ったんですけど店中アイカツシリーズの曲が流れててビビりましたね.手が込んでるなぁ.

 

お台場

宿が有明だったのでバス&徒歩で近いお台場へ移動後即これ.オタク.

店内もラ!関連であふれてるというかほぼそれしかなくて,昔ラブライバーだったときの自分が喜んでましたね.

 

かすみちゃんのドリンクを購入(オタク)(ニチャァァ)

ついてきたコースターは果林さんでした(報告)

ここでテンション上がるやつね.

ケツケツプリンのポム

 

昼食

 

またしても2杯.

"戦"へ行くのでね.

 

アイカツMFF <DAY2>

前日の疲れや,やたらラブライブモチベがあったのも相まって今日はゆっくり観るか~と思っていたんですけどね,始まっちゃったら結局ブチあがってた気がする.

2日目からはアイカツフレンズの声優さんたちも参戦してオタクの夢をたくさん叶えてくれましたね.Dreaming birdとかもう号泣してたし,Take me higherは絶叫してたしもう最高や.終電の関係で最後までいられなかったので記事書きながらアーカイブで観ています(泣)

 

まとめ

パズドラウザい敵ランキング(大罪龍ラッシュ編)

こんにちは ゆーりんちーです。

 

 

突然ですが皆さんは、パズル&ドラゴンズというゲームをプレイしたことがあるでしょうか?

 

昔やってたよーとか、初めてスマホ買った時にインストールしたよ!とか、なんだかんだで多くの人が知っているゲームなのではないでしょうか!

 

そこで今回は、そんなパズドラで現在開催中のイベント「大罪龍と鍵の勇者」の、マルチプレイ専用ダンジョン「協力!大罪龍と鍵の勇者ー七罪の試練 壊滅級」について書いていこうと思います!

 

 

まずこのダンジョンがどんなダンジョンかを簡単に説明すると、強力なアイテムである”鍵”を作るために、周回して素材をたくさん集める、というダンジョンの3人協力プレイバージョンです。

 

マッチングした3人で交互にパズル、盤面は共有されます。

1F 傲慢の大罪龍王ファデル

先制行動 6コンボ以下吸収 7コンボしないといけない

f:id:u_rinch:20200816230301p:plain

2F 暴食の大罪龍王マジェ

根性(ポケモンで言うとがんじょう的な) 体力50%以下で全ドロップをロック状態にする

f:id:u_rinch:20200816231346p:plain

 3F 色欲の大罪龍王バリアス

先制行動で盤面にルーレットを4個生成、ピンチになるとロック目覚め(一定確率でロックされたドロップが降ってくるようになる)を使用

f:id:u_rinch:20200816231809p:plain

 4F 強欲の大罪龍王ラマモア

先制で5ターン覚醒スキル無効状態にしてくる

f:id:u_rinch:20200816232032p:plain

 5F 怠惰の大罪龍王フェゴラン

とても、固いです。

f:id:u_rinch:20200816232352p:plain

 6F 嫉妬の大罪龍王ジヴィ

先制で現在HPの99%のダメージ 根性 根性発動で水、光属性の攻撃を吸収

f:id:u_rinch:20200816230058p:plain

7,8F BOSS 憤怒の大罪龍王バルディターン(進化前後で2フロア)

進化前 先制でランダムにリーダー交代

進化後 1000万以上のダメージ無効(無効貫通スキルを持ったキャラがいる状態で、3*3の正方形で消すと貫通)

f:id:u_rinch:20200816233457p:plain

といった感じで敵のギミックの種類が多く、一応壊滅級というだけはありますね!

しかし何十周も周回するとなると、障壁となる、「ウザいな」と感じる物たちが出てきてしまいます、、、

 

というわけでここからは、筆者がこのダンジョンを5~70周程周回して、特に不快だったものをランキング形式で紹介していきます

 

 

 4位 嫉妬の大罪龍王ジヴィ

先ほど紹介した、6階での敵キャラクターがランクインです!

筆者は周回するのに水パーティを使っていたので、水、光吸収を使ってくるコイツは厄介でした! 

 

味方も「仮面ライダーゼロワン」,「魔神バージル」等の、水や光のパーティを使っていることが多くて、一度吸収が始まると誰もここを突破しきれず負けるということが数回ありました、、、 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3位 切断厨

まず通信中が入って待たされる。カス。

昔と違って超覚醒とバッジ使えるから切断するメリットが全くない。

その上スキル枚数がカツカツになるから安定性がクソ下がる。

早く運営は切断鯖を作ってくれ

 

 

 

2位 初心者、その他下手クソ

悪魔キラーとか火力枠を連れてこない。

中途半端に敵を削って吸収やらロック目覚めやらが始まる。パス機能使ってくれ。

スキルも全然使わない。使い忘れでは済まないくらい使うのを渋る。

その強そうなフェス限キャラ達は何のために持ってきたんだという気持ちになる。

あと変身できない変身パはお荷物だぞ。

というかそもそも壊滅級と書いてあるのが読めないのか。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1位 氷戒龍の武闘家ディーナ(を使っている人)

f:id:u_rinch:20200817002242p:plain

毎ターン盤面の全ドロップロックするスキルを使う。残ったロックドロップが邪魔で変換が使いづらい。

使っている本人はルーレットを対策したつもりかもしれないが、こちらはランダムマッチで当たった相手に変換を邪魔されて負けては堪ったものではない(憤怒)

特に最後の無効貫通を確定で組めなくなるのが過剰なストレス。

他のドロップロック、ロック目覚めキャラも同じ。3人マルチでは早く出禁になって欲しい。

 

 

 

 

 

 

 

まぁスキルは大体1,2枚余るし、パスもあるからなんとでもなるんですけどね、、、

おわり

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最後の方腹立ってきたので数えてみた。切断が多すぎる。あと体感バレンタインイデアル使いはパズル下手で火力も出せない。4カ所ルーレットで4色組めるわけないでしょ

f:id:u_rinch:20200817020446p:plain

 

第二回名神対抗戦雑記( Miscellaneous notes of the 2nd battle between nulop and kouyama poke)

こんにちは、名ポケ1回生のゆーりんちーです。ぶろぐを書くのは初めてです。

 

第二回名神対抗戦ではなんと500000003-5で負けてしまったらしいです。今回はそこで僕が使用したチームについて書き綴っていこうかなとおもいます。

 

 

Ⅰ.今回のルールと考察

ルール説明

第二回対抗戦は、名ポケのセリカさんが考案した(と思われる)鎖国シングルというルールで行われました。簡単にいえば、島々が鎖国をしているので(江戸時代)、その島で入手できるポケモン、持ち物しか使用できず、技マシンや教え技も限られるというルールです。あと、レベル上げと努力値振り、(基本的に)禁伝もなしです。

 

このルールを元に、各島々同じ島の相手と戦う1日目、ランダムに選ばれた他の島と戦う2日目で合計8戦対戦し、最後に代表戦(UB捕獲そのままシングル1on1)も行い合計9戦で決着を付けました。

 

考察

僕はメレメレじま(1日目)で参加させていただきました。この島は冒険に旅立つ最初の島で、普段レーティングバトルでみるような、強力なポケモンはほとんどいません。そうなるとまず最強なのが、、、、

 

 

 

 

 

 

 

 

              f:id:u_rinch:20191110215054p:plain

まあこいつですね。教え、マシンともに低威力技ばかりのこの島ですが、このポケモンに媚びているかのように10万ボルトが使えます。てかそもそも最初から放電も覚えています。よってメレメレ環境ではこのポケモンを中心に考察を進めていきました。

 

まず、カプ・コケコを使う側にたって考えると、使える技は10万ボルトや放電などの電気ウェポン、はねやすめ、ほえる、しぜんのいかり、エコーボイスや輪唱などのクソザコノーマル打点が主です。これを見ると素早さ決定力ともに他のポケモン達を圧倒していますが、地面タイプを倒す術がいつもにまして無いようです。

 

次に、コケコを使われる側にたって考えると、、、

 

 

 

 

 

 

 

 

は?無理だろこれ💢考察やめてアイカツ!みてくるわ

 

 

ゴンベのレア呼び出しで出現するカビゴンが、とっておきzでカプ・コケコを確定1発で倒せるほか、島スキャンで火曜に登場するイワークや、ドジョッチ呼び出しで出現するナマズン等の地面タイプのポケモン達は、先述通りコケコから倒されません。しかしこの島にはコケコを倒せる強い地面技が存在しないので、遂行速度が遅く引かれて終わりな気がします。

 

ここまでの考察で、最強カプ・コケコ、なんとはなしに強そうなカビゴン、電気技が通らず、カビゴンやコケコのノーマル技も通りにくいイワークが、この環境での所謂厨ポケだと分かりましたね!(†イワークが厨ポケ†)

 

 

Ⅱ.使用した構築

1.カプコケコ🐔@エレキシード

性格:ひかえめ 技:10万ボルト 羽休め 自然の怒り ほえる

f:id:u_rinch:20191110215054p:plain

考察であった通り、このポケモンは地面を倒せませんが、あちらからも打点がないので、エレキシードと羽休めで場持ちを良くし、ほえて地面を流しながら戦うことにしました。

130族なんて他にいないのでひかえめです。エレキシードは道に落ちてます。

 

2.カビゴン🍙@ノーマルZ

性格:いじっぱり 技:奮い立てる とっておき

f:id:u_rinch:20191110223413j:plain撮影:神山祭にて

まず出ない。捕まえてくれたすともさんありがとうございました。

メレメレじまにはあんまりいい技が無かったので、Z以外にも行動しやすいようにこの構成にしました。

この絵は神山祭のお絵かきコーナーに描いてありました。上手ですね!誰が描いたんだろう?僕もカビゴン描いた気がするんですけど写真が出てきませんでした。

 

3.イワーク🐉@食べ残し

性格:わんぱく 技:岩石封じ 通せん坊 ほえる 内緒話

 f:id:u_rinch:20191110224334p:plain

自慢のコケコ対策です(迫真)。地面技がないのでちまちま殴るしかないです。通せん坊でキャッチできるのが強そうですね。相手も羽休め採用してたらどうしてたんだ

4倍弱点となる水タイプや草タイプの敵が多いですが、ロクな技が無いので大丈夫です(断言)。

食べ残しはゴンベから奪い取りました。

 

4.ピカチュウ🐭@電気玉

性格:ホモはせっかち 技:10万ボルト 瓦割り 投げつける 威張る

f:id:u_rinch:20191110225417j:plain

イワークが強いと信じ込んでいたためそれに瓦割りを打てる点、コケコとの役割集中を考え採用。

電気玉は野ピからぶんどれるらしい。威張って投げつけると運ゲが始まりそう。

夢特性を粘ればコケコに一方的に勝てたのですが失念しており静電気でつかっていました。

 

5.ナマズン(~・・_・・~)@達人の帯

性格:臆病 技:マグニチュード 水の波動 泥爆弾 ど忘れ

f:id:u_rinch:20191110230059j:plain

相手がピカチュウを採用してきた場合を考え、第二の地面枠を用意しました。捕獲時のレベルで大きく技構成が変わるので、そちらを優先したところ性格は適当になってしまいました。

達人の帯も道に落ちています。

 

6.チュリネ🌿@若草プレート

性格:図太い 技:吸い取る 身代わり 宿り木のたね 眠り粉

f:id:u_rinch:20191110230926p:plain

なんか出てきたので捕まえたらやたら陰湿な技構成だったのでそのまま採用しました。正直他にポケモンが思いつかなかったので見せ枠です。

プレートも道に落ちてました。

 

 

Ⅲ.実際に対戦して

 対戦相手は神山ポケモンサークルの(当たり前)1回生ドヒドイデ松岡君、

神山祭にお邪魔して対戦したときには負けてしまったのでリベンジですね。

 

 

 

 

 

 

 

 

f:id:u_rinch:20191110233617p:plain

 

いやコケコ以外全然考察あたってないやん。てか4匹しかおらんし。

とりあえずコケコが通らない相手がコケコしかいないようなのでコケコの選出は確定、ついでに水タイプばかりなのでピカチュウも選出、コケコ用にイワークも出しました。

 

初手対面はピカ対コケコ、夢粘ってないのでイワークに引いて戦うことに、、、、、、

 

 

 

 

 

 

 

 

 

 

なんか勝ちました。相手の裏は案の定水技を持っておらずイワークで岩なげてたら2匹倒してました。ラスト1匹も数的有利とって押し切れましたね。

と言うわけで食べ残し通せん坊イワークは最強です。皆さん使いましょう。

 

Ⅳ.最後に

全体の結果としてはとんでもない点差()で負けてしまいましたが実質勝ったような気がしなくもないです。???「なくなくもなくってよ!」

負けてしまった名ポケでは、開国して剣盾の世界観が幕末の江戸になるらしいです。

今回対戦していただいた神山ポケサーの皆様、一緒に戦ってくれた名ポケの皆さん、企画をしていただいた両サークルの先輩方、こんな自己満ゴミ文章を最後まで読んでくださった皆様、ありがとうございました。

 

おわり