--- /dev/null
+Prep←{
+ name⇐2↑6↓𝕩
+ flow⇐•ParseFloat(𝕩∊"0123456789")/𝕩
+ tunnels⇐⟨∘,2⟩⥊3↓(𝕩∊('A'+↕('Z'-'A')))/𝕩
+}
+
+Main←{
+ names←{𝕩.name}¨𝕩
+ flows←{𝕩.flow}¨𝕩
+ tunnelses←{names⊐⥊⋈˘𝕩.tunnels}¨𝕩
+ Open←{1⌾(𝕩⊸⊑)𝕨}
+ Search←{
+ 𝕊⟨0,·,·⟩: 0;
+ 𝕊⟨time,·,vs⟩: ∧´vs? time×+´vs/flows;
+ 𝕊⟨time,here,vs⟩:
+ •Show ⟨time,here,vs⟩
+ time-↩1
+ (+´vs/flows)+⌈´⟨Search⟨time,here,vs Open here⟩⟩∾{
+ Search⟨time,𝕩,vs⟩
+ }¨here⊑tunnelses
+ }
+ Search⟨30,0,0¨𝕩⟩
+}
+
+•Show Main Prep¨ •file.Lines ⊑•args