menu-button

Virtual Black Casio Calculator

A virtual scientific calculator (using the very common Casio fx-85GT PLUS) with clickable buttons that explain pretty much every operation of the calculator. Includes details of statistical calculations and generating tables of values (and a secret menu!).

T Dohesvaran

23rd Mar 2019 Flag Comment

i don't understand

R Nakum

23rd Mar 2019 Flag Comment

:-)

g hodges

18th Mar 2019 Flag Comment

what is this

W Kember

14th Mar 2019 Flag Comment

|| || _;| /__3 / /|| / / // .--. \ \// / (OO) \// |( _ ) // \__/`-'\__ // \__ _ \ _.-'/ | ._._.|\ \ (_.-' | \ \ \ .-._ / o ) / / /_ \ \ / \__/ / / \ \_/ / / E_/ \ / / `-._/-' :F_P:

A JINNY

14th Mar 2019 Flag Comment

Wagwan piff ting

E Thursfield

12th Mar 2019 Flag Comment

jesus

K Khalfan

5th Mar 2019 Flag Comment

how do you get the calculater

A Irfan

4th Mar 2019 Flag Comment

YEET

A Irfan

4th Mar 2019 Flag Comment

YEET

A Irfan

4th Mar 2019 Flag Comment

YEET

A Irfan

4th Mar 2019 Flag Comment

YEET

A Irfan

4th Mar 2019 Flag Comment

YEET

E Thursfield

26th Feb 2019 Flag Comment

its wednesday my dudes

k jones

14th Feb 2019 Flag Comment

Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam Spam

A Ahad

17th Jan 2019 Flag Comment

it is thursday today

N Heys

16th Jan 2019 Flag Comment

me 2 m8

E Thursfield

8th Jan 2019 Flag Comment

HIIIII DUDESSSSSSSSSSSSSSSSSSSSS I HATE LIFEEEEEE

D Butler

13th Dec 2018 Flag Comment

Can i have calculater

B Meads

13th Dec 2018 Flag Comment

MEMESMEMESMEMEMEMEMEMMWEMMmemememememmememmeememememememememememmmememeemmememememememememmeemmememememeemmememememememeemmemememeemmemememememeemmememewmeemnememememmeemememememememme

E Thursfield

11th Dec 2018 Flag Comment

smh

E Thursfield

11th Dec 2018 Flag Comment

i am calculating the meaning of life 🤷‍♀️

D Ejiofor

9th Dec 2018 Flag Comment

I always get suprised by what yall respond with whenever i leave a message. Not even linked to calculators

J Sully

3rd Dec 2018 Flag Comment

Niether mate

D Ejiofor

1st Dec 2018 Flag Comment

sorry don't speak baguette

R Ram

27th Nov 2018 Flag Comment

Je plaisante

R Ram

27th Nov 2018 Flag Comment

je veux mourir👍

E Thursfield

27th Nov 2018 Flag Comment

And all you need are the eight extravagant numbers on both sides of your parents' credit card and expiration date so you can get the EPIC VICTORY ROYAL 😂

D Ejiofor

20th Nov 2018 Flag Comment

Y todo lo que necesita son los ocho números extravagantes a ambos lados de la tarjeta de crédito de tus padres y la fecha de vencimiento para que puedas obtener el EPIC VICTORY ROYAL

J Judd-Holmes

14th Nov 2018 Flag Comment

Attention all fortnite gamers, john wick needs your help hes trapped in tilted towers ladi ladi la, can i have a fiver please im skint

E Thursfield

13th Nov 2018 Flag Comment

Chupar

L Broderick

7th Nov 2018 Flag Comment

hahahahahahhha MEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES MEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMESMEMES

L Broderick

7th Nov 2018 Flag Comment

didn't really help i could of done better because you trash dog

H ANANDALAKSHMANAN

29th Oct 2018 Flag Comment

xd

D Ejiofor

22nd Oct 2018 Flag Comment

;)

D Ejiofor

22nd Oct 2018 Flag Comment

これは私を殺しています means This is killing me In Japanese

D Ejiofor

22nd Oct 2018 Flag Comment

Hi, Vsauce here, is it necessary to download this folder

D Ejiofor

22nd Oct 2018 Flag Comment

You have just been hit by a smooth criminal

W AHMAD

10th Oct 2018 Flag Comment

I hate school!

S Ghani

25th Sep 2018 Flag Comment

pretty good

E Thursfield

25th Sep 2018 Flag Comment

これは私を殺しています

E Thursfield

25th Sep 2018 Flag Comment

HB\AGFSA FUYW

E Thursfield

25th Sep 2018 Flag Comment

HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII I HATE SCHOOLLL

R Bland

21st Sep 2018 Flag Comment

hi

A Anand

20th Aug 2018 Flag Comment

why is it that when i do topic tests and achieve 100 % it doesn't give me any medals 😭 😭 😭 😭 😭 same here

Z Shaker

28th Jul 2018 Flag Comment

why is it that when i do topic tests and achieve 100 % it doesn't give me any medals 😭 😭 😭 😭 😭

Z Shaker

28th Jul 2018 Flag Comment

why cant i delete my comments

Z Shaker

28th Jul 2018 Flag Comment

hi

Z Shaker

28th Jul 2018 Flag Comment

Who watches db super best anime ever

Z Shaker

28th Jul 2018 Flag Comment

Hi

Z Shaker

28th Jul 2018 Flag Comment

Yes

Kieren Bestwick

24th May 2018 Flag Comment

I like trins band cant spell

Arjan Singh Tucker

17th May 2018 Flag Comment

Can I use this for my End Of the Year Examination OXOXOXOXOXOOXOX

S Chopra

5th Apr 2018 Flag Comment

good

T Longden

22nd Jun 2017 Flag Comment

Cool!

inni

27th Nov 2016 Flag Comment

thank you

kahn

31st Oct 2016 Flag Comment

Excellent in layout and presentation of the resources thank you

Staysha

23rd Sep 2016 Flag Comment

Jai

7th Jul 2016 Flag Comment

thanks really helped

sally

6th Jun 2016 Flag Comment

good

General Comment Report an Error