--- /dev/null
+Split←{
+ blocknums ← +`𝕨
+ # Set entries in blocknums to -1 when they correspond with delimiters.
+ blocknums ↩ (¯1¨)⌾(𝕨⊸/) blocknums
+ blocknums⊔𝕩
+}
+
+Prep←{
+ cubes←{
+ •ParseFloat¨(','=𝕩)Split 𝕩
+ }¨𝕩
+ # "2" here allows a margin for shifting into
+ droplet←(2+⌈˝>cubes)⥊0
+ droplet↩1¨⌾(cubes⊸⊑)droplet
+}
+
+Main←{ 𝕊 droplet:
+ # We assume that all co-ordinates are strictly positive.
+ NSurfacesInDir←{ +´⥊𝕩≠»𝕩 }
+ +´{NSurfacesInDir ⍉⍟𝕩 droplet}¨↕=droplet
+}
+
+•Show Main Prep •file.Lines ⊑•args