"
#% &
'
(
(
(
)
*
+
)
! +
"
-
".
"
"
#
#1
"
%
"
#
"
*
!
!
345
)
&
6
7
0
!
,
3
8
8
8
8
8
8%
4
2
!
(
9
&
:#
9
6
,
8
8*
8
8*
&
/
.
,
&
"
/
5
"
.
&
&
%
2
)
#
"
9
!
9
:
:
9
9
#
!
"
;
"
#
'
7
6
:
0 "
"'
"
0
"
&
7
.
&
"*
<
2
*
"
>=
>=
>-
=
?
"
"
#
;
"*
:
"
-
5.
#
"
'
"
#'
A# A5A# B
C AAAAB
#
<
$
*,D
@
@
@
4
3
E@
@
4
2
3
@
>
@
<
!
"
'
"
E
G
"
1
G5E?H@
G5 ?I@
5
9 G5EJ F # F J G5 :@
<%
>=
"
>=
38
K
*
>
9=
>
:
K8
4
"
"
"
9
"
:
"-
2
2
.
*
<%
0
.
"
0
#
"
#
<.
3
E@
@
9: 3
)@
%
<%
2
95:
* &
(
"
'
E (
9=
>
:@
"
52
#
&
"
1
? G5
5
*
9F
9:@
" F J :@
<%
"
)
9: 3
2
)@
)?% &5 ! 99EKE:J9 K ::@
)@
4
.
)
)
%
"
)
%
#
$
@
*,D
@
@
@
1
4
3
@
1
4
<
!
)!
(
"
)
"
7
#!
/
<
"
!
)"
"
?
0 "
0 "
9G#G:@
D
!
) 0 "
!
9G#G:@
)
9G#G:@
<.
3
E@
@
9
:3 E? @ ? @4
: 3 E? @ ? @4
*
9: 3
)@
)?% &5 ! 99EKE:J9 K ::@
)@
4
4
<.
$
9:34
:3
? @
? @
? @
4
$
? @
? @
4
:3
'
<
8*
"Garbage
"Garbage collector"
collector"
p1
p1
xx
yy
p2
p2
xx
yy
F"
.E (
"
"
!
!
3
@
*,D
@
@
1
4
&
*
&
class Vector2D{
double x,y;
"
3
E? A@
? A@
9
#
3
E? A@
? A@
9
E#
& 5E? E@
& 5 ? @
:3
E? @
? @
4
4
4
< &
:3
&
7
"
.
!
)
%
9
& <.
:3
:3
? @
*,D?
4
9
? @
*,D?
@
?
4
& 9 #
:@
?
:3
"
3
E# @
&#
@
9
E#
&#
1 ? E@
1
4
9
&#
:3 1 4
9:3 1 4
4
&
!
!
9
.
:3
<.
3
9:34
9: 3
:3
:3
9F
9F
5
F:@ 4
9F " F J :@ 4
"FJ
J F F J :@
4
9
:3
9F
" F J :@
K@
9:@
9GA:@
9GA# MA:@
?
9H5G:@
<
!
3
9
:3
E: 3
5
5
9F5
F:@4
9F-
PQ
1
?
9:@
? N@
? N@
? N@
P 0
5 9 :@
5 9 :@
5 9 :@
5 99
: :@
F:@4
9:@
S<
1
9
.
:314
:314
9
:314
4
P 0
<'
3
@
9
&@
#
? @
:3
& ? @
? @
4
9
:3
? 5
& ? 5
? 5
4
@
&@
@
8
8.
15
G?
M?
4
.
L
L
9GA#MA#GH:@
9 G);
"
-
3
-
9:34
9
#
8
8
-
? KM@
?8
M@
4
4
:3
? L9:@
?GH@
?MA@
5
5
9F
9 # :@
5
5
9F*
"F J
J F F J :@
"F J
J F F J :@
# @
-
9:34
:3
99: 3
? @
? @4
:3 5 <?M@ 5 J?M@4
5
9F " F J
J F $" F J :@ 4
G?
L-
9GH#MA:@
M?
L-
9:@
G5
9:@
M5
9:@
G5
9 M:@
M5
9:@
<
2
"
7
7
7
"
5
<.
%
3
@
@
:3
? @
JJ@4
9:
3
9F
"FJ
4
1
%
G?
L%
9F
M?
L%
9F
M5
%
M5
9:@
5
F:@
F:@
8
8M
? GAAA@
9:@
8
8
GAAA
:@4
"
7
7
&
)
&
&
"
5
9:
"
)
8
8
9:3
? A@ 4
"
555
%
9:@
9:@
$ !
"
!
)
)
8
8
5
5
M5
5
5
%
%
M3
9F
F:@
9:@
9F$ ? F J %
? N@
? H@
3
?
5
5
KGA@
9F
555F:@
4
9: 3
4
4
9F
? F J :@
M5 :@
<
2
!
"
7
&
:
7
.
/
<.
%
,7. 'T
9:3 ,7. 'T
4
UD ' ? N@
UD ' ? MI@ 8
K.
K84
!
7
0
)
"
!
9 5 5
!(
8
:# !
8
!
:"
5 L 5K
!
H< %
P
R
18
K
K8
? L9:@
5 ? GA@
5 ? MA@
5 ? GAA@
5
5
9 5 JF F J 5 JF F J 5
@
3
@
@
9
9: 3
:3
? @4
@4
9::@
V< ''
0 .
"
''
- *
% &
"
#
0
#"
LJ
J /
"
=
>
,/
E
5
AW?
&
"
&
) 0
"A
& #
#
#
/
*
"
"
0
*
E?
=
GAA>
@
"
=
>E?
D
=
>E@
"
=
GAA>
@
) 0 "
35554
L
"
35554
"
=
>
G?
=
>
M? 3A# G# M# N# S# H# V# I# X# Y4@
=
>
G?
=
GA>
@
=
GA>
@
? A@ W GA@ JJ:
5
=
>
9
# <.
9F.
? 3F
F
? A@ W
5
G=>? @
"FJ
F# F
F# F
5
9F
F# F
F# F
G5
F# F
F4@
&:@
F#
&@ JJ:
" F J JF
"FJ
=>
:@
/
%
"
# <.
3
@
? G@
9:3
?
JJ@
4
D 9:3
@4
4
%
=
>
9
'
L%
=
H>
@
? A@ W H@ JJ: 3
'
=>?
5
L%
9:@
9 JF D
*" F J
'
/
%
=
>
=
>
"
# <.
)3
@
@
%
)9
3
?
@
?
?
9
L
=
>
=
? A@ W
9
? A@
4
4
4
>
@
@ JJ:3
W
=>
=>?
4
9:@
@ JJ:3
5
ED 9:@
=>
5
D 9::@
.
U
I
!
!
"
+
&
GA
"
"
!
( "
?
9:@
)
&
&
=
>? 3BB
#BB
#BB
4@
?
9 &
G? FU
M?
:@
F@
9 G:@
7
&
&
=
>? 3BB
#BB
#BB
#BB
#BB
#BB
4@
?
9 &
"
?F
F@
$
? FU
#M#N:@
0 9J:
FJ
JF
5F@
"
?
9F
9:@
9FU
:
5F:
F:
.E
.E
0 <
F
F5 &
.E
9G:
<
&
<<<< BB
&
3
9
=
>
:3
? F.
&
? GG@
? GH@
&
=
>?
&
5
L & =
#
#
9
<
>
@
#A:@
:@
44
&
"
#< *
*
!
'
/
!
&
5F:@
"
$
!
<.
3
9
G? FU
F@
M? FU
F@
N? F6
<
=
>
:3
F@
S? FU.22'F@
5'5 9 GJ F !
F J MJ F <[ F J G5 !
9 M::@
5'5 9 GJ F !
F J NJ F <[ F J G5 !
9 N::@
5'5 9 GJ F !
F J SJ F <[ F J G5 !
9 S::@
5'5 9 GJ F !
G5 !
F J SJ F <[ F J
9 S::@
4
4
.!
\ ??
"
.
??
.!
, .!
*
*
- 3
9
G? FU
M?
5'5 9 GJ F !
=
>
:3
F@
9 G:@
F J MJ F <[ F J G5 !
9 M::@
"
$
F.
F5
] &9F.
"D
F:
$
F.
)*
'
F5
] &9F
+,"
WA
?A
[A
X<
F:
"
'
Q
3
=
>? 3F
F#F
F# F.
9
9
? A@
9
&@ JJ: 3
? J G@ W
=>
5
&@ JJ: 3
- 9
?
=>?
=>? @
4
4
5'5 59
444
F4@
=
>
:3
5
F# F
=>
:@
=>
: W A: 3
=>
@
=>
@
$/ !
8/
E' 9
D
BB
E' 9
8/
E' 9
D
E' 9
^
:
G_
G_
BB
E' 9
D
E' 9
^
:
E' 9
D
E' 9
Y<
E' *
$/ !
3
9
=
>
:3
? F.
5 F@
5'5 59 :@
5'5 5 9F
5'5 5 9F
5'5 5 9F
5'5 5 9F
5'5 5 9F
5'5 5 9F
5'5 5 9F
5'5 5 9F
4
4
E' 9 : ? F J 5
D
E' 9
D
: ?F J 5
E' 9
#M: ? F J 5
E' 9
E' 9BB
::@
E' 9F
F::@
E' 9F
F::@
E' 9BB
#M::@
E' 9 #GA: ? F J 5
E' 9
D
: ?F J 5
E' 9 #M: ? F J 5
D
E' 9BB
::@
E' 9 : ? F J 5
D
E' 9F
#GA: ? F J 5
E' 9BB
#GA::@
F#M::@
E' 9F
F#GA::@
'
FU
F5
9V:
FU
F5
9N#X: <<< F
FU
F5
9F ]
<<< F]
F:
F
] F
<<< FU
)
FU
F5
9` a#aLa:
2L
<<< FU LL F
8 7
FU
F5
2L
9: <<< F&
FU
F5
9: <<< FU.22'F
.
F
F5
9:
'
<<< FU
!
5
' 9%
&5 D
::@
"
GV
-
J GV
"
*
$
5
?
&9:@
#
5
9:@
-
9FU
F:@
GA $
9F2
9F
9FU
"FJ
F:@
"FJ
&9::@
5
9::@
&9N:@
9F
GA $
"FJ
:@
%
0
9F2
9F
2
5
9FU
"FJ
"FJ
&9N:@
5
9F
"FJ
:@
F:@
&9::@
9::@
/
&
&
.E
(
&
3
9
?
5
9F
9F &
&
2
5
5 &
=
>
:3
9FU
?F J
9G:
F:@
:@
?F J
5 &
9G#BB
:@
&9M:@
5
9F
5
5
9G::@
?F J
9F &
9G:
?F J
44
$
D
0
:@
%
%
9G::@
GG $
@
? SM@
?
F:5
9F ?
9 :5
5
9:@
9 :@
M?
9V# F &
5
9SA:@
9Fb
F:5
$
5
9F&
b
F:@
F:@
M:@
/
#
"
,/
"
D
9
" ,/
:
"
9
9:
"
:
D
? GA
?A
?A
/
%
"
) 9:" ,/
9:"
D
9'
"D
:"
:"
0 #
9: 8
+
)
9:" *
8/
:" *
0
/
%
A#
#'
"
9'
:" *
9:" *
E' 9'
.
:" *
5
9'
<G
#
0
9
0 #
:" $
:" D
/
G? F
=
>
GF# M? F
MF# N? F
NF@
9:@
9 G:@ 5
5
9
? 3 G# M# N4@
?
9 M:@ 5
9 N:@
9F2
" F:@
=>
:@ 4
9F2
" F:@
8
8.
9.
? 5
5
.
9:@
9 5
E.
5& %
9: @: 3
9::@
.
P
G? F
?
GF# M? F
L
9 G:@
9 M:@
9 N:@
9F-
NF@
"FJ 5
"FJ 5
5& %
9::@
9::@
F:@
9F7
F:@
9.
? 5
5
" F J 5 ) 9: J F
9F7
9A#F
R
MF# N? F
9:@
GM /
9 5
9:@
E.
9::@
9: @: 3
GN /
"
5
5K@
3
9
=
>
:3
G?
9F-
M?
9F
G?
9F
N?
9F2 F# MN:#
F:#
F:@
F# MG:# M?
G5
9 G:@ G5
9 M:@
M5
9 N:@ M5
9 S:@
S?
9F
9F
GN /
1
5
9F,
"F
9 G5
9::@
9 M5
9::@
9::@
44
"
,
"M
"-
" M:
"=
9MG +
"=
"
9MM +
9
"=
2
"=
:>
:>
" M:
9MN +
9MN +
:>
#
:>
F# MM:#
F# MN:@
/
2
)
#
# E
"
.
8
8,/
8
8,/
"
! 9
8
8
()
8
8
() /
L9
0
:
9K:
E9
9K:
9K:
:
9:
:8
8*
9K:
8
8G5A[
#
(
"
E 9
9
GA9
:
:
:
[? A5A
:
9