無限ループの夏(3)

無限ループの夏(4)

 新聞部の部室には、四人の姿があった。
 私。樹里先輩と、絵子先輩。そして我が親友、灰住真凛。
 雨脚は強くなっていた。やや薄暗い部室に、ピリピリした空気が張り詰めている。

「さて、今回の事件……これについて、私なりの見解を述べたいと思う」

 口火を切ったのは、やはり樹里先輩だった。

「犯人の目的は何だったのか。残されていたループ文のソースコードにはどんな意味があったのか。未定義の変数はいくつかあるが……ひとつずつ定義していきたい」

 樹里先輩の低い声が、静かな部室に響く。

「まずは、簡単なところからいこう。被害に遭った人の、名前と順序。これには大きな意味がある……茨目くん。被害者の名前を、被害に遭った順に読んでほしい」
「はい。ええと……灰住《はいずみ》真凛《まりん》。茨目《いばらめ》奈乃《なの》。城ヶ崎《じょうがさき》紗夜《さや》。桐谷《きりたに》真由《まゆ》」
「では同じように、苗字の頭文字《イニシャル》を順に読んでほしい」
「……H、I、J、……K。あ」

 アルファベット順だ。言われてみれば、単純な話だ。

「そういうことだ。それでは次に、少しプログラムのお勉強といこうか」

 樹里先輩はそう言って、軽く腕組みをしたままゆっくりと歩き出した。

「FORTRANという、はるか昔に生まれたプログラミング言語があってだな……その完成度の高さから、その後に誕生した多くのプログラミング言語のお手本となった。絵子は知っているか?」
「ん、全然」
「……そうか。……そのFORTRANでは、iからnまでのアルファベットで始まる変数は整数型である、という暗黙の取り決めがあった」
「整数型?」

 私は思わず聞き返す。

「小数点以下の端数を管理しない数値のことだ。その性質上、数値のカウンターに非常に適している。そのため、ループのカウンター変数として自然と使用されるようになった」
「例えばさ、キャンディを十個渡すっていうプログラムがあるとするじゃない。この場合、ループが一周回るたびにキャンディを一個渡すんだよね。この渡したキャンディの数が、いわゆるカウンター変数なわけ」

 絵子先輩が横から補足する。なるほど、私でもなんとなくわかったような気がする。

「他のプログラミング言語でも、慣習的にカウンター変数がi、j、kの順序で使われるのは、この名残による」

 部屋の隅で折り返した樹里先輩は、話を続けながら私の前を通り過ぎていく。

「さて。被害者の名前と、カウンター変数。順に並んだアルファベットが、事件の場に二つ提示されたわけだが……これにより、実に不自然なものが一つ浮き上がってくる」

 そして、ある人物の前で歩みを止めた。

「そう……最初の被害者の頭文字、hだ」

 樹里先輩は、真凛の顔に自分の顔を一気に近づけた。
 その距離、約二十センチ。

「両者に関係があると考えると、事件が君から始まっているのは、実に不自然なんだよ」

 樹里先輩の目は、まっすぐに真凛を見つめている。

「被害者として紛れ込むことで捜査の攪乱を狙ったか、他に何か目的があったのか……いずれにせよ、ただの被害者でないことは断言していいだろう。君が犯人なのかどうかはともかく、この事件の真相に深く関わっていることは間違いない」

 真凛は目を伏せたまま動かない。
 鼓動が激しくなる。目の前の光景が信じられない。
 樹里先輩は何を言っているのか。なぜ真凛は何も言い返さないのか。
 重苦しい緊張感が部屋を支配した。誰も動かない。

 ▼

 どれくらい時間が経っただろうか。
 不意に、樹里先輩の口元が緩んだ。

「……と、いう筋書きで合ってるかな? 灰住くん」

 真凛の表情も一気に緩む。

「……さすが、樹里先輩です。やっぱり簡単すぎました?」
「まあ、難易度は低いが、なかなか面白いイベントだったよ」

 え? え?
 突然の話の展開についていけない。

「城ヶ崎くんと桐谷くんも協力者、だよな?」
「はい。お願いして一芝居打ってもらいました」
「やっぱり。その二人の協力者がいれば十分成立するしな」
「ええ。あと、そもそも続けようにも、この学校に名前がLで始まる人いませんし」

 なんか和気|藹々《あいあい》と話が進んでるよ? どういうこと。

「あと……プログラムの部分については、もう一人協力者がいただろう。……な、絵子」
「はーい。わたしでーす」

 絵子先輩が満面の笑みで右手を高く上げる。

「どうだった? 樹里」
「まあ、上出来じゃないか。絵子にしては」
「奈乃ちゃんにネタを提供したい真凛ちゃんと。樹里に楽しんでもらおうと思った私と。意見が一致して意気投合しちゃいまして。こりゃまた」

 私以外の三人が、朗らかに談笑している。これって、つまり。

「……全部、芝居だったってこと?」
「芝居というか、新聞部と情報処理部への挑戦状、だな。灰住くんと絵子による」
「どう? 楽しんでもらえた? 奈乃ちゃん」

 全身の力が抜けていく。思わず私は真凛を睨みつける。

「ちょっとー、真凛?」
「茨目くん。最初に約束したよな? 怒らないって」
「そりゃ、言いましたけど……」
「気持ちはわかるが、それ以上に充実した楽しい時間だったと思うぞ。少なくとも私はそうだ」

 ……確かに。
 ここ数日は、新聞部という役目にとても充実していた。
 退屈な記事を作業的に書いていた時とは、比べ物にならないくらい。
 そして何より。二人の魅力的な先輩と会えたこと。
 それを思い出し、徐々に怒りが収まっていく。

「そうですね。……なかなか刺激的な謎だったよ、真凛」
「喜んでもらえたんなら本望だわ」
「あと、絵子先輩もありがとうございます。協力してくださって」
「いいっていいって。ごめんねー、奈乃ちゃん。でも面白かったわー、私も」

 絵子先輩が申し訳なさそうな表情で手をひらひらさせる。その向こうで、樹里先輩と真凛が微笑む。
 私もつられて笑みがこぼれた。

 ▼

 さて、これで謎は解決した、と言っていいのか。
 樹里先輩風に言えば、真実が定義された、とでもいうのか。

 ……いや、解決していない。大事なことを思い出した。

「そうだ。返してよ、私のパンツ」
「あ、だよね。もちろんちゃんと返すよ」

 そう言うと、真凛は自分の鞄をガサゴソしだす。

「ほんとごめんねー。これだけは本当にプールの時間に拝借したんだ……あれ?」

 鞄の中から取り出した小さな袋を開け……真凛は首を傾げる。

「どうしたの?」
「……ない」
「……またー。いいよもう、そのネタは」
「いや、ほんとなの。いつでも返せるように、この袋に入れといたのに」

 袋をひっくり返して下から覗き込む真凛。その顔に、一枚の紙切れがひらひらと舞い落ちた。

「うわっ」

 慌てて避ける真凛。私は足元に落ちたその紙切れを拾い上げる。そこには、こう書かれていた。

「Null」

 なんと読むのかわからず、無言のまま樹里先輩に渡す。受け取った樹里先輩の眉間にシワが寄る。

「……ナル。日本だとヌルと呼ばれる方が多いがな。何もない、ということを表すプログラミング用語だ」
「何もない?」
「確かに、パンツはどこにもないけど」
「え? え? これって、どういうこと?」

 真凛を見る。真凛は黙って首を傾げる。

「ええ?」

 二人の先輩を交互に見る。二人とも、黙って首を傾げる。

「なんか、ほんとになくなっちゃったみたい……らめのパンツ」

 …………ええー。

 一つの謎を残し、一枚のパンツを失い、最初の事件は幕を閉じた。
 私と真凛、そして情報処理部の二人の先輩との、記念すべき最初の事件。
 いつの間にか雨は上がっていた。部室の窓から見える雲の間からは、夏の青空が覗いていた。