package Ġbiz . ko z io lek . ad vent of code Ċ Ċ import Ġkotlin . math . abs Ċ import Ġkotlin . math . pow Ċ import Ġkotlin . math . sqrt Ċ Ċ data Ġclass ĠCoord 3 d ( val Ġx : ĠInt , Ġval Ġy : ĠInt , Ġval Ġz : ĠInt ) Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġplus ( other : ĠCoord 3 d ) Ġ= ĠCoord 3 d ( x Ġ+ Ġother . x , Ġy Ġ+ Ġother . y , Ġz Ġ+ Ġother . z ) ĊĠĠĠ Ġoperator Ġfun Ġminus ( other : ĠCoord 3 d ) Ġ= ĠCoord 3 d ( x Ġ- Ġother . x , Ġy Ġ- Ġother . y , Ġz Ġ- Ġother . z ) ĊĠĠĠ Ġoperator Ġfun Ġunary Minus () Ġ= ĠCoord 3 d (- x , Ġ- y , Ġ- z ) ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ"$ x ,$ y ,$ z " ĊĊĠĠĠ Ġfun Ġdistance To ( other : ĠCoord 3 d ) Ġ= Ġsqrt ( ĊĠĠĠĠĠĠĠ Ġ( x Ġ- Ġother . x ). toDouble (). pow ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ( y Ġ- Ġother . y ). toDouble (). pow ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ( z Ġ- Ġother . z ). toDouble (). pow ( 2 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġin fix Ġfun Ġman h att an Distance To ( other : ĠCoord 3 d ): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġabs ( x Ġ- Ġother . x ) Ġ+ Ġabs ( y Ġ- Ġother . y ) Ġ+ Ġabs ( z Ġ- Ġother . z ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom String ( str : ĠString ): ĠCoord 3 d Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstr . split (',') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . toInt () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĠCoord 3 d ( x Ġ= Ġit [ 0 ], Ġy Ġ= Ġit [ 1 ], Ġz Ġ= Ġit [ 2 ]) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ