You are on page 1of 26

F

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
)

)
;
}

You might also like