import Ġkotlin . math .* Ċ Ċ class ĠVector ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble , Ġx 5 : ĠDouble , Ġx 6 : ĠDouble , Ġx 7 : ĠDouble , Ġx 8 : ĠDouble , Ġx 9 : ĠDouble , Ġx 1 0 : ĠDouble ) Ġ{ ĊĠĠĠ Ġvar Ġcoords Ġ= Ġmutable ListOf < Double >( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġx 5 , Ġx 6 , Ġx 7 , Ġx 8 , Ġx 9 , Ġx 1 0 ) ĊĊĠĠĠ Ġconstructor () Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble , Ġx 5 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġx 5 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble , Ġx 5 : ĠDouble , Ġx 6 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġx 5 , Ġx 6 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble , Ġx 5 : ĠDouble , Ġx 6 : ĠDouble , Ġx 7 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġx 5 , Ġx 6 , Ġx 7 , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble , Ġx 5 : ĠDouble , Ġx 6 : ĠDouble , Ġx 7 : ĠDouble , Ġx 8 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġx 5 , Ġx 6 , Ġx 7 , Ġx 8 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġconstructor ( x 1 : ĠDouble , Ġx 2 : ĠDouble , Ġx 3 : ĠDouble , Ġx 4 : ĠDouble , Ġx 5 : ĠDouble , Ġx 6 : ĠDouble , Ġx 7 : ĠDouble , Ġx 8 : ĠDouble , Ġx 9 : ĠDouble ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( x 1 , Ġx 2 , Ġx 3 , Ġx 4 , Ġx 5 , Ġx 6 , Ġx 7 , Ġx 8 , Ġx 9 , Ġ 0 . 0 ) ĊĊĠĠĠ Ġfun Ġvec L enght (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġl enght Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 .. 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl enght += coords [ i ]* coords [ i ] ĊĠĠĠĠĠĠĠ Ġreturn ( sqrt ( l enght )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetRandom Vector ( dim : ĠInt ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 .. dim - 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoords [ i ] Ġ= ĠgetRandom () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠgetRandom (): Double Ċ { ĊĠĠĠ Ġreturn Ġ 1 . 0 * (- Int . MAX _ VALUE .. Int . MAX _ VALUE ). random ()/ Int . MAX _ VALUE Ċ }