Professional Documents
Culture Documents
u
n
c
i
o
n
e
s
M
a
r
c
o
A
.
P
e
a
I
n
t
r
o
d
u
c
c
i
n
a
l
a
p
r
o
g
r
a
m
a
c
i
n
e
n
C
D
e
p
a
r
t
a
m
e
n
t
d
A
r
q
u
i
t
e
c
t
u
r
a
d
e
C
o
m
p
u
t
a
d
o
r
s
U
n
i
v
e
r
s
i
t
a
t
P
o
l
i
t
c
n
i
c
a
d
e
C
a
t
a
l
u
n
y
a
I
n
t
r
o
d
u
c
c
i
E
s
t
r
u
c
t
u
r
a
c
i
n
d
e
l
p
r
o
g
r
a
m
a
e
n
p
a
r
t
e
s
m
s
p
e
q
u
e
a
s
y
s
e
n
c
i
l
l
a
s
M
o
d
u
l
a
r
i
z
a
c
i
P
r
o
p
s
i
t
o
n
i
c
o
I
d
e
n
t
i
f
i
c
a
b
l
e
R
e
u
s
a
b
l
e
M
a
y
o
r
c
l
a
r
i
d
a
d
:
p
r
o
g
r
a
m
a
c
i
n
,
d
e
p
u
r
a
c
i
n
,
e
t
c
.
C
o
n
s
t
r
u
c
c
i
n
d
e
l
i
b
r
e
r
a
s
a
m
e
d
i
d
a
2
G
e
n
e
r
a
l
i
d
a
d
e
s
P
a
q
u
e
t
e
d
e
s
e
n
t
e
n
c
i
a
s
I
d
e
n
t
i
f
i
c
a
b
l
e
m
e
d
i
a
n
t
e
u
n
n
o
m
b
r
e
R
e
a
l
i
z
a
u
n
a
t
a
r
e
a
g
e
n
r
i
c
a
f
i
j
a
L
o
s
d
a
t
o
s
p
u
e
d
e
n
c
a
m
b
i
a
r
P
a
r
m
e
t
r
o
s
P
o
s
i
b
i
l
i
d
a
d
d
e
r
e
t
o
r
n
a
r
u
n
v
a
l
o
r
D
a
t
o
1
D
a
t
o
2
D
a
t
o
3
R
e
s
u
l
t
a
d
o
3
E
j
e
m
p
l
o
(
I
)
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
v
o
i
d
m
a
i
n
(
)
{
l
o
n
g
i
n
t
m
,
n
,
f
m
=
1
,
f
n
=
1
,
f
d
i
f
=
1
;
f
l
o
a
t
r
e
s
;
i
n
t
i
;
p
r
i
n
t
f
(
"
I
n
t
r
o
d
u
z
c
a
m
y
n
:
"
)
;
s
c
a
n
f
(
"
%
d
%
d
"
,
&
m
,
&
n
)
;
f
o
r
(
i
=
2
;
i
<
=
m
;
i
+
+
)
f
m
=
f
m
*
i
;
f
o
r
(
i
=
2
;
i
<
=
n
;
i
+
+
)
f
n
=
f
n
*
i
;
f
o
r
(
i
=
2
;
i
<
=
m
n
;
i
+
+
)
f
d
i
f
=
f
d
i
f
*
i
;
r
e
s
=
(
f
l
o
a
t
)
f
m
/
(
(
f
l
o
a
t
)
f
n
*
(
f
l
o
a
t
)
f
d
i
f
)
;
p
r
i
n
t
f
(
"
m
s
o
b
r
e
n
=
%
f
\
n
"
,
r
e
s
)
;
}
m
n
=
m
!
n
!
n
!
4
E
j
e
m
p
l
o
(
I
I
)
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
l
o
n
g
i
n
t
f
a
c
t
(
i
n
t
x
)
{
i
n
t
i
;
l
o
n
g
i
n
t
f
=
1
;
f
o
r
(
i
=
2
;
i
<
=
x
;
i
+
+
)
f
=
f
*
i
;
r
e
t
u
r
n
(
f
)
;
}v
o
i
d
m
a
i
n
(
)
{
l
o
n
g
i
n
t
m
,
n
;
f
l
o
a
t
r
e
s
;
p
r
i
n
t
f
(
"
I
n
t
r
o
d
u
z
c
a
m
y
n
:
"
)
;
s
c
a
n
f
(
"
%
d
%
d
"
,
&
m
,
&
n
)
;
r
e
s
=
(
f
l
o
a
t
)
f
a
c
t
(
m
)
/
(
(
f
l
o
a
t
)
f
a
c
t
(
n
)
*
(
f
l
o
a
t
)
f
a
c
t
(
m
n
)
)
;
p
r
i
n
t
f
(
"
m
s
o
b
r
e
n
=
%
f
\
n
"
,
r
e
s
)
;
}
m
n
=
m
!
n
!
n
!
5
D
e
f
i
n
i
c
i
n
t
i
p
o
n
o
m
b
r
e
_
f
u
n
c
i
n
(
t
i
p
o
1
p
a
r
a
m
1
,
.
.
.
,
t
i
p
o
N
p
a
r
a
m
N
)
{
c
u
e
r
p
o
}
P
r
e
v
i
a
a
l
p
u
n
t
o
d
e
l
l
a
m
a
d
a
t
i
p
o
:
t
i
p
o
d
e
d
a
t
o
s
d
e
l
r
e
s
u
l
t
a
d
o
d
e
l
a
f
u
n
c
i
n
.
P
o
r
d
e
f
e
c
t
o
:
i
n
t
n
o
m
b
r
e
_
f
u
n
c
i
n
:
i
d
e
n
t
i
f
i
c
a
d
o
r
q
u
e
s
e
u
s
a
r
p
o
s
t
e
r
i
o
r
m
e
n
t
e
p
a
r
a
l
a
s
l
l
a
m
a
d
a
s
t
i
p
o
i
p
a
r
a
m
i
:
t
i
p
o
y
n
o
m
b
r
e
d
e
l
o
s
p
a
r
m
e
t
r
o
s
f
o
r
m
a
l
e
s
.
N
o
m
b
r
e
s
c
o
n
q
u
e
r
e
f
e
r
i
r
s
e
d
e
n
t
r
o
d
e
l
a
f
u
n
c
i
n
a
l
o
s
d
a
t
o
s
q
u
e
s
e
t
r
a
n
s
f
i
e
r
e
n
a
s
t
a
d
e
s
d
e
l
a
p
a
r
t
e
d
e
l
p
r
o
g
r
a
m
a
q
u
e
h
a
c
e
l
a
l
l
a
m
a
d
a
.
c
u
e
r
p
o
:
d
e
c
l
a
r
a
c
i
n
d
e
v
a
r
i
a
b
l
e
s
+
s
e
n
t
e
n
c
i
a
s
(
i
n
c
l
u
y
e
n
d
o
l
l
a
m
a
d
a
s
a
f
u
n
c
i
o
n
e
s
)
.
P
u
e
d
e
i
n
c
l
u
i
r
l
a
s
e
n
t
e
n
c
i
a
r
e
t
u
r
n
p
a
r
a
d
e
v
o
l
v
e
r
u
n
v
a
l
o
r
a
l
p
u
n
t
o
d
e
l
l
a
m
a
d
a
.
6
t
i
p
o
n
o
m
b
r
e
_
f
u
n
c
i
n
(
t
i
p
o
1
p
a
r
a
m
1
,
.
.
.
,
t
i
p
o
N
p
a
r
a
m
N
)
;
P
r
o
t
o
t
i
p
o
s
E
s
p
e
c
i
f
i
c
a
c
i
n
p
a
r
c
i
a
l
d
e
l
a
f
u
n
c
i
L
a
d
e
f
i
n
i
c
i
n
p
u
e
d
e
s
e
r
p
o
s
t
e
r
i
o
r
a
l
p
u
n
t
o
d
e
l
l
a
m
a
d
a
m
u
y
u
s
a
d
o
s
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
l
o
n
g
i
n
t
f
a
c
t
(
i
n
t
x
)
;
/
*
P
r
o
t
o
t
i
p
o
*
/
v
o
i
d
m
a
i
n
(
)
{
l
o
n
g
i
n
t
m
,
n
;
f
l
o
a
t
r
e
s
;
p
r
i
n
t
f
(
"
I
n
t
r
o
d
u
z
c
a
m
y
n
:
"
)
;
s
c
a
n
f
(
"
%
d
%
d
"
,
&
m
,
&
n
)
;
r
e
s
=
(
f
l
o
a
t
)
f
a
c
t
(
m
)
/
(
(
f
l
o
a
t
)
f
a
c
t
(
n
)
*
(
f
l
o
a
t
)
f
a
c
t
(
m
n
)
)
;
p
r
i
n
t
f
(
"
m
s
o
b
r
e
n
=
%
f
\
n
"
,
r
e
s
)
;
}l
o
n
g
i
n
t
f
a
c
t
(
i
n
t
x
)
{
i
n
t
i
;
l
o
n
g
i
n
t
f
=
1
;
f
o
r
(
i
=
2
;
i
<
=
x
;
i
+
+
)
f
=
f
*
i
;
r
e
t
u
r
n
(
f
)
;
}
7
V
a
r
i
a
b
l
e
s
y
p
a
r
m
e
t
r
o
s
V
a
r
i
a
b
l
e
s
l
o
c
a
l
e
s
:
d
e
c
l
a
r
a
d
a
s
d
e
n
t
r
o
d
e
u
n
a
f
u
n
c
i
A
m
b
i
t
o
:
i
n
t
e
r
i
o
r
d
e
l
a
f
u
n
c
i
T
i
e
m
p
o
d
e
v
i
d
a
:
e
j
e
c
u
c
i
n
d
e
l
a
f
u
n
c
i
V
a
r
i
a
b
l
e
s
g
l
o
b
a
l
e
s
:
d
e
c
l
a
r
a
d
a
s
f
u
e
r
a
d
e
t
o
d
a
f
u
n
c
i
A
m
b
i
t
o
:
t
o
d
a
s
l
a
s
f
u
n
c
i
o
n
e
s
d
e
l
f
i
c
h
e
r
o
e
f
e
c
t
o
s
l
a
t
e
r
a
l
e
s
T
i
e
m
p
o
d
e
v
i
d
a
:
e
j
e
c
u
c
i
n
d
e
l
p
r
o
g
r
a
m
a
P
a
r
m
e
t
r
o
s
f
o
r
m
a
l
e
s
:
c
o
m
o
l
a
s
v
a
r
i
a
b
l
e
s
l
o
c
a
l
e
s
8
L
l
a
m
a
d
a
N
o
m
b
r
e
d
e
l
a
f
u
n
c
i
n
y
l
i
s
t
a
d
e
p
a
r
m
e
t
r
o
s
r
e
a
l
e
s
e
n
t
r
e
p
a
r
n
t
e
s
i
s
P
a
r
m
e
t
r
o
s
:
m
i
s
m
o
n
m
e
r
o
y
t
i
p
o
q
u
e
e
n
l
a
d
e
f
i
n
i
c
i
S
i
l
a
f
u
n
c
i
n
d
e
v
u
e
l
v
e
a
l
g
n
v
a
l
o
r
,
l
a
l
l
a
m
a
d
a
d
e
b
e
r
a
a
p
a
r
e
c
e
r
d
e
n
t
r
o
d
e
u
n
a
e
x
p
r
e
s
i
E
j
e
m
p
l
o
s
:
f
m
=
f
a
c
t
(
m
)
;
p
r
o
d
=
f
a
c
t
(
n
)
*
f
a
c
t
(
m
n
)
;
p
r
i
n
t
f
(
"
E
l
f
a
c
o
r
i
a
l
d
e
5
e
s
:
%
l
d
\
n
"
,
f
a
c
t
(
5
)
)
;
9
D
e
v
o
l
u
c
i
n
d
e
r
e
s
u
l
t
a
d
o
s
l
o
u
n
d
a
t
o
o
n
a
d
a
D
a
t
o
d
e
t
i
p
o
e
l
e
m
e
n
t
a
l
,
e
s
t
r
u
c
t
u
r
a
o
v
o
i
d
N
o
p
u
e
d
e
n
d
e
v
o
l
v
e
r
s
e
t
a
b
l
a
s
S
e
n
t
e
n
c
i
a
r
e
t
u
r
n
1
0
E
j
e
c
u
c
i
n
(
I
)
P
a
r
m
e
t
r
o
s
r
e
a
l
e
s
(
l
l
a
m
a
d
a
)
p
a
r
m
e
t
r
o
s
f
o
r
m
a
l
e
s
(
d
e
f
i
n
i
c
i
n
)
R
e
s
e
r
v
a
d
e
m
e
m
o
r
i
a
p
a
r
a
p
a
r
m
e
t
r
o
s
+
i
n
i
c
i
a
l
i
z
a
c
i
R
e
s
e
r
v
a
d
e
m
e
m
o
r
i
a
p
a
r
a
v
a
r
i
a
b
l
e
s
l
o
c
a
l
e
s
:
n
o
h
a
y
i
n
i
c
i
a
l
i
z
a
c
i
E
j
e
c
u
c
i
n
d
e
l
a
s
s
e
n
t
e
n
c
i
a
s
A
n
o
t
a
c
i
n
d
e
l
r
e
s
u
l
t
a
d
o
(
s
i
l
o
h
a
y
)
L
i
b
e
r
a
c
i
n
d
e
m
e
m
o
r
i
a
V
u
e
l
t
a
a
l
p
u
n
t
o
d
e
l
l
a
m
a
d
a
y
u
s
o
d
e
l
r
e
s
u
l
t
a
d
o
(
s
i
l
o
h
a
y
)
1
1
E
j
e
c
u
c
i
n
(
I
I
)
v
o
i
d
m
a
i
n
(
)
{
i
n
t
m
;
l
o
n
g
i
n
t
f
m
;
...
f
m
=
f
a
c
t
(
m
)
;
...
}
l
o
n
g
i
n
t
f
a
c
t
(
i
n
t
x
)
{
i
n
t
i
;
l
o
n
g
i
n
t
f
=
1
;
f
o
r
(
i
=
2
;
i
<
=
x
;
i
+
+
)
f
=
f
*
i
;
r
e
t
u
r
n
(
f
)
;
}
M
e
m
o
r
i
a
f
m
m
P
i
l
a
fi
1
2
P
a
s
o
d
e
p
a
r
m
e
t
r
o
s
:
v
a
l
o
r
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
v
o
i
d
c
u
a
d
r
a
d
o
(
i
n
t
x
)
{
x
=
x
*
x
;
p
r
i
n
t
f
(
"
D
e
n
t
r
o
x
=
%
d
\
n
"
,
x
)
;
}v
o
i
d
m
a
i
n
(
)
{
i
n
t
x
=
5
;
p
r
i
n
t
f
(
"
A
n
t
e
s
x
=
%
d
\
n
"
,
x
)
;
c
u
a
d
r
a
d
o
(
x
)
;
p
r
i
n
t
f
(
"
D
e
s
p
u
s
x
=
%
d
\
n
"
,
x
)
;
}
C
o
p
i
a
d
e
l
v
a
l
o
r
d
e
l
o
s
p
a
r
m
e
t
r
o
s
r
e
a
l
e
s
p
u
e
d
e
n
s
e
r
e
x
p
r
e
s
i
o
n
e
s
L
o
s
p
a
r
m
e
t
r
o
s
r
e
a
l
e
s
n
o
s
e
m
o
d
i
f
i
c
a
n
1
3
P
a
s
o
d
e
p
a
r
m
e
t
r
o
s
:
r
e
f
e
r
e
n
c
i
a
(
I
)
D
e
v
o
l
v
e
r
m
s
d
e
u
n
v
a
l
o
r
?
M
o
d
i
f
i
c
a
r
l
o
s
p
a
r
m
e
t
r
o
s
r
e
a
l
e
s
?
O
p
e
r
a
d
o
r
d
e
d
i
r
e
c
c
i
n
(
&
)
:
o
b
t
i
e
n
e
l
a
d
i
r
e
c
c
i
n
e
n
m
e
m
o
r
i
a
d
e
u
n
a
v
a
r
i
a
b
l
e
O
p
e
r
a
d
o
r
d
e
i
n
d
i
r
e
c
c
i
n
o
p
u
n
t
e
r
o
(
*
)
:
o
b
t
i
e
n
e
e
l
d
a
t
o
c
o
n
t
e
n
i
d
o
e
n
u
n
a
d
i
r
e
c
c
i
n
d
e
m
e
m
o
r
i
a
1
4
P
a
s
o
d
e
p
a
r
m
e
t
r
o
s
:
r
e
f
e
r
e
n
c
i
a
(
I
I
)
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
v
o
i
d
s
w
a
p
(
i
n
t
*
x
,
i
n
t
*
y
)
{
i
n
t
a
u
x
;
/
*
S
e
a
s
i
g
n
a
a
a
u
x
e
l
v
a
l
o
r
r
e
f
e
r
e
n
c
i
a
d
o
p
o
r
x
*
/
a
u
x
=
*
x
;
/
*
S
e
a
s
i
g
n
a
e
l
v
a
l
o
r
r
e
f
e
r
e
n
c
i
a
d
o
p
o
r
y
a
l
v
a
l
o
r
r
e
f
e
r
e
n
c
i
a
d
o
p
o
r
x
*
/
*
x
=
*
y
;
/
*
E
l
v
a
l
o
r
r
e
f
e
r
e
n
c
i
a
d
o
p
o
r
y
p
a
s
a
a
s
e
r
e
l
v
a
l
o
r
d
e
a
u
x
*
/
*
y
=
a
u
x
;
}v
o
i
d
m
a
i
n
(
)
{
i
n
t
a
,
b
;
s
c
a
n
f
(
"
%
d
%
d
"
,
&
a
,
&
b
)
;
s
w
a
p
(
&
a
,
&
b
)
;
p
r
i
n
t
f
(
"
L
o
s
n
u
e
v
o
s
v
a
l
o
r
e
s
s
o
n
a
=
%
d
y
b
=
%
d
\
n
"
,
a
,
b
)
;
}
1
5
P
a
s
o
d
e
p
a
r
m
e
t
r
o
s
:
r
e
s
u
m
e
n
P
a
s
o
p
o
r
v
a
l
o
r
D
e
c
l
a
r
a
c
i
n
t
i
p
o
n
o
m
b
r
e
_
f
u
n
c
i
n
(
t
i
p
o
1
p
a
r
a
m
1
,
.
.
.
)
L
l
a
m
a
d
a
n
o
m
b
r
e
_
f
u
n
c
i
n
(
e
x
p
r
e
s
i
n
1
,
.
.
.
)
P
a
s
o
p
o
r
r
e
f
e
r
e
n
c
i
a
D
e
c
l
a
r
a
c
i
n
t
i
p
o
n
o
m
b
r
e
_
f
u
n
c
i
n
(
t
i
p
o
1
*
p
a
r
a
m
1
,
.
.
.
)
L
l
a
m
a
d
a
n
o
m
b
r
e
_
f
u
n
c
i
n
(
&
v
a
r
i
a
b
l
e
1
,
.
.
.
)
1
6
E
j
e
r
c
i
c
i
o
1
7
v
o
i
d
f
1
(
i
n
t
x
,
i
n
t
*
y
,
i
n
t
a
,
i
n
t
b
)
{
x
=
x
+
1
;
*
y
=
*
y
+
1
;
x
=
x
+
a
;
*
y
=
*
y
+
b
;
p
r
i
n
t
f
(
"
%
d
%
d
\
n
"
,
x
,
*
y
)
;
}v
o
i
d
f
2
(
i
n
t
a
,
i
n
t
*
b
)
{
a
=
a
+
1
;
*
b
=
*
b
+
1
;
a
=
a
+
a
;
*
b
=
*
b
+
*
b
;
p
r
i
n
t
f
(
"
%
d
%
d
\
n
"
,
a
,
*
b
)
;
}
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
v
o
i
d
m
a
i
n
(
)
{
i
n
t
a
=
0
,
b
=
0
;
<
l
l
a
m
a
d
a
>
p
r
i
n
t
f
(
"
%
d
%
d
\
n
"
,
a
,
b
)
;
}
f
1
(
a
,
&
b
,
a
,
b
)
;
f
2
(
a
,
&
b
)
;
F
u
n
c
i
o
n
e
s
y
t
a
b
l
a
s
(
I
)
E
l
e
m
e
n
t
o
s
i
n
d
i
v
i
d
u
a
l
e
s
d
e
t
i
p
o
s
e
l
e
m
e
n
t
a
l
e
s
n
o
r
m
a
l
m
e
n
t
e
E
j
e
m
p
l
o
:
1
8
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
i
n
t
m
a
x
i
m
o
(
i
n
t
x
,
i
n
t
y
)
{
i
f
(
x
>
y
)
r
e
t
u
r
n
(
x
)
;
r
e
t
u
r
n
(
y
)
;
}v
o
i
d
m
a
i
n
(
)
{
i
n
t
m
a
x
,
v
[
2
0
]
,
i
;
p
r
i
n
t
f
(
"
I
n
t
r
o
d
u
c
i
r
e
l
e
m
e
n
t
o
s
d
e
l
v
e
c
t
o
r
:
\
n
"
)
;
f
o
r
(
i
=
0
;
i
<
2
0
;
i
+
+
)
s
c
a
n
f
(
"
%
d
"
,
&
v
[
i
]
)
;
m
a
x
=
v
[
0
]
;
f
o
r
(
i
=
1
;
i
<
2
0
;
i
+
+
)
m
a
x
=
m
a
x
i
m
o
(
m
a
x
,
v
[
i
]
)
;
p
r
i
n
t
f
(
"
E
l
e
l
e
m
e
n
t
o
m
a
y
o
r
e
s
:
%
d
\
n
"
,
m
a
x
)
;
}
F
u
n
c
i
o
n
e
s
y
t
a
b
l
a
s
(
I
I
)
L
a
s
t
a
b
l
a
s
s
l
o
p
o
r
r
e
f
e
r
e
n
c
i
a
E
l
n
o
m
b
r
e
d
e
l
a
t
a
b
l
a
e
s
u
n
a
r
e
f
e
r
e
n
c
i
a
(
a
p
u
n
t
a
)
a
l
p
r
i
m
e
r
e
l
e
m
e
n
t
o
d
e
l
a
t
a
b
l
a
N
o
s
e
u
s
a
&
n
i
*
N
o
s
e
h
a
c
e
u
n
a
c
o
p
i
a
d
e
l
a
t
a
b
l
a
D
e
n
t
r
o
d
e
l
a
f
u
n
c
i
n
s
e
a
c
c
e
d
e
a
l
a
t
a
b
l
a
n
o
r
m
a
l
m
e
n
t
e
1
9
F
u
n
c
i
o
n
e
s
y
t
a
b
l
a
s
(
I
I
I
)
2
0
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
#
d
e
f
i
n
e
D
I
M
2
0
f
l
o
a
t
m
e
d
i
a
(
f
l
o
a
t
v
e
c
[
]
,
i
n
t
n
)
{
i
n
t
j
;
f
l
o
a
t
s
u
m
;
s
u
m
=
0
.
0
;
f
o
r
(
j
=
0
;
j
<
n
;
j
+
+
)
s
u
m
=
s
u
m
+
v
e
c
[
j
]
;
r
e
t
u
r
n
(
s
u
m
/
(
f
l
o
a
t
)
n
)
;
}v
o
i
d
m
a
i
n
(
)
{
f
l
o
a
t
m
e
d
,
v
[
D
I
M
]
;
i
n
t
i
;
p
r
i
n
t
f
(
"
I
n
t
r
o
d
u
c
i
r
e
l
e
m
e
n
t
o
s
d
e
l
v
e
c
t
o
r
:
\
n
"
)
;
f
o
r
(
i
=
0
;
i
<
D
I
M
;
i
+
+
)
s
c
a
n
f
(
"
%
f
"
,
&
v
[
i
]
)
;
m
e
d
=
m
e
d
i
a
(
v
,
D
I
M
)
;
p
r
i
n
t
f
(
"
L
a
m
e
d
i
a
e
s
:
%
f
\
n
"
,
m
e
d
)
;
}
f
l
o
a
t
m
e
d
i
a
(
f
l
o
a
t
v
e
c
[
D
I
M
]
,
i
n
t
n
)
f
l
o
a
t
m
e
d
i
a
(
f
l
o
a
t
*
v
e
c
,
i
n
t
n
)
F
u
n
c
i
o
n
e
s
y
t
a
b
l
a
s
(
I
V
)
2
1
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
#
d
e
f
i
n
e
M
A
X
F
I
L
3
#
d
e
f
i
n
e
M
A
X
C
O
L
M
A
X
F
I
L
v
o
i
d
m
a
t
X
v
e
c
(
i
n
t
n
f
i
l
,
i
n
t
n
c
o
l
,
f
l
o
a
t
A
[
]
,
f
l
o
a
t
x
[
]
,
f
l
o
a
t
y
[
]
)
{
/
*
C
a
l
c
u
l
a
y
=
A
*
x
*
/
i
n
t
i
,
j
;
f
o
r
(
i
=
0
;
i
<
n
f
i
l
;
i
+
+
)
{
y
[
i
]
=
0
.
0
;
f
o
r
(
i
=
0
;
i
<
n
c
o
l
;
i
+
+
)
y
[
i
]
+
=
(
A
[
i
*
M
A
X
C
O
L
+
j
]
*
x
[
j
]
)
;
}
}v
o
i
d
m
a
i
n
(
)
{
i
n
t
n
f
i
l
,
n
c
o
l
;
f
l
o
a
t
v
1
[
M
A
X
C
O
L
]
,
v
2
[
M
A
X
F
I
L
]
,
M
[
M
A
X
F
I
L
]
[
M
A
X
C
O
L
]
;
.
.
.
/
*
L
e
e
r
n
f
i
l
,
n
c
o
l
,
A
,
x
*
/
m
a
t
X
v
e
c
(
n
f
i
l
,
n
c
o
l
,
M
,
v
1
,
v
2
)
;
.
.
.
/
*
M
o
s
t
r
a
r
y
*
/
}
F
u
n
c
i
o
n
e
s
y
e
s
t
r
u
c
t
u
r
a
s
(
I
)
L
a
s
e
s
t
r
u
c
t
u
r
a
s
t
a
n
t
o
p
o
r
v
a
l
o
r
c
o
m
o
p
o
r
r
e
f
e
r
e
n
c
i
a
V
a
l
o
r
:
a
c
c
e
s
o
a
l
o
s
c
a
m
p
o
s
n
o
r
m
a
l
m
e
n
t
e
R
e
f
e
r
e
n
c
i
a
:
c
o
m
b
i
n
a
c
i
n
d
e
l
o
s
o
p
e
r
a
d
o
r
e
s
*
y
.
(
p
u
n
t
o
)
R
e
f
e
r
e
n
c
i
a
:
t
a
m
b
i
n
c
o
n
e
l
o
p
e
r
a
d
o
r
>
2
2
F
u
n
c
i
o
n
e
s
y
e
s
t
r
u
c
t
u
r
a
s
(
I
I
)
2
3
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
t
y
p
e
d
e
f
s
t
r
u
c
t
{
c
h
a
r
n
o
m
b
r
e
[
8
0
]
;
l
o
n
g
i
n
t
n
d
n
i
;
}
T
d
n
i
;
v
o
i
d
l
e
e
r
_
d
n
i
(
T
d
n
i
*
p
)
{
g
e
t
s
(
(
*
p
)
.
n
o
m
b
r
e
)
;
/
*
g
e
t
s
(
p
>
n
o
m
b
r
e
)
;
*
/
s
c
a
n
f
(
"
%
l
d
"
,
&
(
*
p
)
.
n
d
n
i
)
;
/
*
s
c
a
n
f
(
"
%
l
d
"
,
&
p
>
n
d
n
i
)
;
*
/
}v
o
i
d
e
s
c
r
i
b
i
r
_
d
n
i
(
T
d
n
i
p
)
{
p
r
i
n
t
f
(
"
N
o
m
b
r
e
:
%
s
\
n
"
,
p
.
n
o
m
b
r
e
)
;
p
r
i
n
t
f
(
"
%
l
d
"
,
p
.
n
d
n
i
)
;
}v
o
i
d
m
a
i
n
(
)
{
T
d
n
i
p
a
d
r
e
,
h
i
j
o
;
.
.
.
l
e
e
r
_
d
n
i
(
&
p
a
d
r
e
)
;
.
.
.
e
s
c
r
i
b
i
r
_
d
n
i
(
p
a
d
r
e
)
;
.
.
.
}
F
u
n
c
i
n
m
a
i
n
T
a
m
b
i
n
p
u
e
d
e
t
e
n
e
r
p
a
r
m
e
t
r
o
s
:
l
o
s
r
e
c
i
b
e
d
e
s
d
e
e
l
S
.
O
.
l
o
d
o
s
:
a
r
g
c
y
a
r
g
v
2
4
v
o
i
d
m
a
i
n
(
i
n
t
a
r
g
c
,
c
h
a
r
*
a
r
g
v
[
]
)
{
.
.
.
}
a
r
g
c
:
i
n
d
i
c
a
e
l
n
m
e
r
o
d
e
p
a
r
m
e
t
r
o
s
d
a
d
o
s
a
l
p
r
o
g
r
a
m
a
,
i
.
e
.
n
m
e
r
o
d
e
c
a
d
e
n
a
s
e
n
a
r
g
v
a
r
g
v
:
v
e
c
t
o
r
d
e
c
a
d
e
n
a
s
d
e
c
a
r
a
c
t
e
r
e
s
,
u
n
a
p
a
r
a
c
a
d
a
p
a
r
m
e
t
r
o
d
e
l
p
r
o
g
r
a
m
a
F
u
n
c
i
n
m
a
i
n
2
5
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
v
o
i
d
m
a
i
n
(
i
n
t
a
r
g
c
,
c
h
a
r
*
a
r
g
v
[
]
)
{
i
f
(
a
r
g
c
>
2
)
{
p
r
i
n
t
f
(
"
D
e
m
a
s
i
a
d
o
s
p
a
r
m
e
t
r
o
s
\
n
"
)
;
}e
l
s
e
i
f
(
a
r
g
c
<
2
)
{
p
r
i
n
t
f
(
"
F
a
l
t
a
n
p
a
r
m
e
t
r
o
s
\
n
"
)
;
}e
l
s
e
{
p
r
i
n
t
f
(
"
Y
o
t
e
s
a
l
u
d
o
%
s
\
n
"
,
a
r
g
v
[
1
]
)
;
}
}
E
j
e
m
p
l
o
:
R
e
c
u
r
s
i
v
i
d
a
d
2
6
i
n
t
f
i
b
o
(
i
n
t
n
)
{
i
f
(
(
n
=
=
0
)
|
|
(
n
=
=
1
)
)
r
e
t
u
r
n
(
1
)
;
r
e
t
u
r
n
(
f
i
b
o
(
n
1
)
+
f
i
b
o
(
n
2
)
)
;
}
U
n
a
f
u
n
c
i
n
s
e
l
l
a
m
a
a
s
m
i
s
m
a
r
e
p
e
t
i
d
a
m
e
n
t
e
h
a
s
t
a
q
u
e
s
e
s
a
t
i
s
f
a
c
e
c
i
e
r
t
a
c
o
n
d
i
c
i
R
e
c
u
r
s
i
v
a
I
t
e
r
a
t
i
v
a
E
j
e
m
p
l
o
s
:
F
a
c
t
o
r
i
a
l
F
i
b
o
n
a
c
c
i
l
o
n
g
i
n
t
f
a
c
t
(
i
n
t
x
)
{
i
f
(
x
<
=
1
)
r
e
t
u
r
n
(
1
)
;
r
e
t
u
r
n
(
x
*
f
a
c
t
(
n
1
)
)
;
}